Struct rustc::ty::context::GlobalCtxt[][src]

pub struct GlobalCtxt<'tcx> {
    global_arenas: &'tcx WorkerLocal<GlobalArenas<'tcx>>,
    global_interners: CtxtInterners<'tcx>,
    cstore: &'tcx CrateStoreDyn,
    pub sess: &'tcx Session,
    pub dep_graph: DepGraph,
    pub types: CommonTypes<'tcx>,
    trait_map: FxHashMap<DefIndex, Lrc<FxHashMap<ItemLocalId, Lrc<StableVec<TraitCandidate>>>>>,
    export_map: FxHashMap<DefId, Lrc<Vec<Export>>>,
    pub hir: Map<'tcx>,
    pub def_path_hash_to_def_id: Option<FxHashMap<DefPathHash, DefId>>,
    pub(crate) queries: Queries<'tcx>,
    freevars: FxHashMap<DefId, Lrc<Vec<Freevar>>>,
    maybe_unused_trait_imports: FxHashSet<DefId>,
    maybe_unused_extern_crates: Vec<(DefId, Span)>,
    pub rcache: Lock<FxHashMap<CReaderCacheKey, Ty<'tcx>>>,
    pub selection_cache: SelectionCache<'tcx>,
    pub evaluation_cache: EvaluationCache<'tcx>,
    pub crate_name: Symbol,
    pub data_layout: TargetDataLayout,
    stability_interner: Lock<FxHashSet<&'tcx Stability>>,
    allocation_interner: Lock<FxHashSet<&'tcx Allocation>>,
    pub alloc_map: Lock<AllocMap<'tcx, &'tcx Allocation>>,
    layout_interner: Lock<FxHashSet<&'tcx LayoutDetails>>,
    pub tx_to_llvm_workers: Lock<Sender<Box<Any + Send>>>,
    output_filenames: Arc<OutputFilenames>,
}
🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Fields

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Common types, pre-interned for your convenience.

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Map indicating what traits are in scope for places where this is relevant; generated by resolve.

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Export map produced by name resolution.

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

A map from DefPathHash -> DefId. Includes DefIds from the local crate as well as all upstream crates. Only populated in incremental mode.

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Caches the results of trait selection. This cache is used for things that do not have to do with the parameters in scope.

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Caches the results of trait evaluation. This cache is used for things that do not have to do with the parameters in scope. Merge this with selection_cache?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

The definite name of the current crate after taking into account attributes, commandline parameters, etc.

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Data layout specification for the current target.

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Stores the value of constants (and deduplicates the actual memory)

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

A general purpose channel to throw data out the back towards LLVM worker threads.

This is intended to only get used during the codegen phase of the compiler when satisfying the query for a particular codegen unit. Internally in the query it'll send data along this channel to get processed later.

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Methods

impl<'gcx: 'tcx, 'tcx> GlobalCtxt<'gcx>
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Call the closure with a local TyCtxt using the given arena.

Auto Trait Implementations

impl<'tcx> !Send for GlobalCtxt<'tcx>

impl<'tcx> !Sync for GlobalCtxt<'tcx>