Struct rustc_mir::monomorphize::collector::RootCollector [−][src]
struct RootCollector<'a, 'tcx> {
tcx: TyCtxt<'tcx>,
mode: MonoItemCollectionMode,
output: &'a mut Vec<Spanned<MonoItem<'tcx>>>,
entry_fn: Option<(DefId, EntryFnType)>,
}Fields
tcx: TyCtxt<'tcx>mode: MonoItemCollectionModeoutput: &'a mut Vec<Spanned<MonoItem<'tcx>>>entry_fn: Option<(DefId, EntryFnType)>Implementations
impl<'v> RootCollector<'_, 'v>[src]
impl<'v> RootCollector<'_, 'v>[src]fn is_root(&self, def_id: LocalDefId) -> bool[src]
fn push_if_root(&mut self, def_id: LocalDefId)[src]
fn push_if_root(&mut self, def_id: LocalDefId)[src]If def_id represents a root, pushes 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)[src]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<'v> ItemLikeVisitor<'v> for RootCollector<'_, 'v>[src]
impl<'v> ItemLikeVisitor<'v> for RootCollector<'_, 'v>[src]fn visit_item(&mut self, item: &'v Item<'v>)[src]
fn visit_trait_item(&mut self, _: &'v TraitItem<'v>)[src]
fn visit_impl_item(&mut self, ii: &'v ImplItem<'v>)[src]
fn visit_foreign_item(&mut self, _foreign_item: &'v ForeignItem<'v>)[src]
Auto Trait Implementations
impl<'a, 'tcx> !RefUnwindSafe for RootCollector<'a, 'tcx>
impl<'a, 'tcx> !Send for RootCollector<'a, 'tcx>
impl<'a, 'tcx> !Sync for RootCollector<'a, 'tcx>
impl<'a, 'tcx> Unpin for RootCollector<'a, 'tcx> where
'tcx: 'a,
'tcx: 'a,
impl<'a, 'tcx> !UnwindSafe for RootCollector<'a, 'tcx>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]