| //! This contains documentation which is linked from query modifiers used in the `rustc_queries!` proc macro. |
| #![allow(unused, non_camel_case_types)] |
| // FIXME: Update and clarify documentation for these modifiers. |
| |
| /// # `desc` query modifier |
| /// |
| /// The description of the query. This modifier is required on every query. |
| pub struct desc; |
| |
| /// # `arena_cache` query modifier |
| /// |
| /// Use this type for the in-memory cache. |
| pub struct arena_cache; |
| |
| /// # `cache_on_disk_if` query modifier |
| /// |
| /// Cache the query to disk if the `Block` returns true. |
| pub struct cache_on_disk_if; |
| |
| /// # `cycle_fatal` query modifier |
| /// |
| /// A cycle error for this query aborting the compilation with a fatal error. |
| pub struct cycle_fatal; |
| |
| /// # `cycle_delay_bug` query modifier |
| /// |
| /// A cycle error results in a delay_bug call |
| pub struct cycle_delay_bug; |
| |
| /// # `cycle_stash` query modifier |
| /// |
| /// A cycle error results in a stashed cycle error that can be unstashed and canceled later |
| pub struct cycle_stash; |
| |
| /// # `no_hash` query modifier |
| /// |
| /// Don't hash the result, instead just mark a query red if it runs |
| pub struct no_hash; |
| |
| /// # `anon` query modifier |
| /// |
| /// Generate a dep node based on the dependencies of the query |
| pub struct anon; |
| |
| /// # `eval_always` query modifier |
| /// |
| /// Always evaluate the query, ignoring its dependencies |
| pub struct eval_always; |
| |
| /// # `depth_limit` query modifier |
| /// |
| /// Whether the query has a call depth limit |
| pub struct depth_limit; |
| |
| /// # `separate_provide_extern` query modifier |
| /// |
| /// Use a separate query provider for local and extern crates |
| pub struct separate_provide_extern; |
| |
| /// # `feedable` query modifier |
| /// |
| /// Generate a `feed` method to set the query's value from another query. |
| pub struct feedable; |
| |
| /// # `return_result_from_ensure_ok` query modifier |
| /// |
| /// When this query is called via `tcx.ensure_ok()`, it returns |
| /// `Result<(), ErrorGuaranteed>` instead of `()`. If the query needs to |
| /// be executed, and that execution returns an error, the error result is |
| /// returned to the caller. |
| /// |
| /// If execution is skipped, a synthetic `Ok(())` is returned, on the |
| /// assumption that a query with all-green inputs must have succeeded. |
| /// |
| /// Can only be applied to queries with a return value of |
| /// `Result<_, ErrorGuaranteed>`. |
| pub struct return_result_from_ensure_ok; |