pub struct CrateLoader<'a, 'tcx: 'a> {
    tcx: TyCtxt<'tcx>,
    cstore: &'a mut CStore,
    used_extern_options: &'a mut FxHashSet<Symbol>,
}

Fields§

§tcx: TyCtxt<'tcx>§cstore: &'a mut CStore§used_extern_options: &'a mut FxHashSet<Symbol>

Implementations§

source§

impl<'a, 'tcx> CrateLoader<'a, 'tcx>

source

pub fn new( tcx: TyCtxt<'tcx>, cstore: &'a mut CStore, used_extern_options: &'a mut FxHashSet<Symbol> ) -> Self

source

fn existing_match( &self, name: Symbol, hash: Option<Svh>, kind: PathKind ) -> Option<CrateNum>

source

fn register_crate( &mut self, host_lib: Option<Library>, root: Option<&CratePaths>, lib: Library, dep_kind: CrateDepKind, name: Symbol, private_dep: Option<bool> ) -> Result<CrateNum, CrateError>

source

fn load_proc_macro<'b>( &self, locator: &mut CrateLocator<'b>, path_kind: PathKind, host_hash: Option<Svh> ) -> Result<Option<(LoadResult, Option<Library>)>, CrateError>where 'a: 'b,

source

fn resolve_crate( &mut self, name: Symbol, span: Span, dep_kind: CrateDepKind ) -> Option<CrateNum>

source

fn maybe_resolve_crate<'b>( &'b mut self, name: Symbol, dep_kind: CrateDepKind, dep: Option<(&'b CratePaths, &'b CrateDep)> ) -> Result<CrateNum, CrateError>

source

fn load( &self, locator: &mut CrateLocator<'_> ) -> Result<Option<LoadResult>, CrateError>

source

fn update_extern_crate(&self, cnum: CrateNum, extern_crate: ExternCrate)

source

fn resolve_crate_deps( &mut self, root: &CratePaths, crate_root: &CrateRoot, metadata: &MetadataBlob, krate: CrateNum, dep_kind: CrateDepKind ) -> Result<IndexVec<CrateNum, CrateNum>, CrateError>

source

fn dlsym_proc_macros( &self, path: &Path, stable_crate_id: StableCrateId ) -> Result<&'static [ProcMacro], CrateError>

source

fn inject_panic_runtime(&mut self, krate: &Crate)

source

fn inject_profiler_runtime(&mut self, krate: &Crate)

source

fn inject_allocator_crate(&mut self, krate: &Crate)

source

fn inject_forced_externs(&mut self)

source

fn inject_dependency_if( &self, krate: CrateNum, what: &str, needs_dep: &dyn Fn(&CrateMetadata) -> bool )

source

fn report_unused_deps(&mut self, krate: &Crate)

source

pub fn postprocess(&mut self, krate: &Crate)

source

pub fn process_extern_crate( &mut self, item: &Item, def_id: LocalDefId, definitions: &Definitions ) -> Option<CrateNum>

source

pub fn process_path_extern( &mut self, name: Symbol, span: Span ) -> Option<CrateNum>

source

pub fn maybe_process_path_extern(&mut self, name: Symbol) -> Option<CrateNum>

Trait Implementations§

source§

impl<'a, 'tcx> Deref for CrateLoader<'a, 'tcx>

§

type Target = TyCtxt<'tcx>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

§

impl<'a, 'tcx> !RefUnwindSafe for CrateLoader<'a, 'tcx>

§

impl<'a, 'tcx> !Send for CrateLoader<'a, 'tcx>

§

impl<'a, 'tcx> !Sync for CrateLoader<'a, 'tcx>

§

impl<'a, 'tcx> Unpin for CrateLoader<'a, 'tcx>

§

impl<'a, 'tcx> !UnwindSafe for CrateLoader<'a, 'tcx>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 24 bytes