mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-29 12:36:35 +03:00
78 lines
2.3 KiB
Rust
78 lines
2.3 KiB
Rust
//! 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;
|