Struct rustc_mir::monomorphize::collector::RootCollector [−][src]
struct RootCollector<'b, 'a: 'b, 'tcx: 'a + 'b> {
tcx: TyCtxt<'a, 'tcx, 'tcx>,
mode: MonoItemCollectionMode,
output: &'b mut Vec<MonoItem<'tcx>>,
entry_fn: Option<DefId>,
}🔬 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
tcx: TyCtxt<'a, 'tcx, 'tcx>
🔬 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?
mode: MonoItemCollectionMode
🔬 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?
output: &'b mut Vec<MonoItem<'tcx>>
🔬 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?
entry_fn: Option<DefId>
🔬 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<'b, 'a, 'v> RootCollector<'b, 'a, 'v>[src]
impl<'b, 'a, 'v> RootCollector<'b, 'a, 'v>fn is_root(&self, def_id: DefId) -> bool[src]
fn is_root(&self, def_id: DefId) -> bool🔬 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?
fn push_if_root(&mut self, def_id: DefId)[src]
fn push_if_root(&mut self, def_id: DefId)🔬 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?
If def_id represents a root, then push it onto the list of
outputs. (Note that all roots must be monomorphic.)
fn push_extra_entry_roots(&mut self)[src]
fn push_extra_entry_roots(&mut self)🔬 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?
As a special case, when/if we encounter the
main() function, we also have to generate a
monomorphized copy of the start lang item based on
the return type of main. This is not needed when
the user writes their own start manually.
Trait Implementations
impl<'b, 'a, 'v> ItemLikeVisitor<'v> for RootCollector<'b, 'a, 'v>[src]
impl<'b, 'a, 'v> ItemLikeVisitor<'v> for RootCollector<'b, 'a, 'v>fn visit_item(&mut self, item: &'v Item)[src]
fn visit_item(&mut self, item: &'v Item)🔬 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?
fn visit_trait_item(&mut self, _: &'v TraitItem)[src]
fn visit_trait_item(&mut self, _: &'v TraitItem)🔬 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?
fn visit_impl_item(&mut self, ii: &'v ImplItem)[src]
fn visit_impl_item(&mut self, ii: &'v ImplItem)🔬 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?
Auto Trait Implementations
impl<'b, 'a, 'tcx> !Send for RootCollector<'b, 'a, 'tcx>
impl<'b, 'a, 'tcx> !Send for RootCollector<'b, 'a, 'tcx>impl<'b, 'a, 'tcx> !Sync for RootCollector<'b, 'a, 'tcx>
impl<'b, 'a, 'tcx> !Sync for RootCollector<'b, 'a, 'tcx>