Struct rustc_metadata::creader::CrateLoader [−][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?
Fields
sess: &'a Session
🔬 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?
cstore: &'a CStore
🔬 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?
local_crate_name: Symbol
🔬 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<'a> CrateLoader<'a>
[src]
impl<'a> CrateLoader<'a>
pub fn new(
sess: &'a Session,
cstore: &'a CStore,
local_crate_name: &str
) -> Self
[src]
pub fn new(
sess: &'a Session,
cstore: &'a CStore,
local_crate_name: &str
) -> 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?
fn existing_match(
&self,
name: Symbol,
hash: Option<&Svh>,
kind: PathKind
) -> Option<CrateNum>
[src]
fn existing_match(
&self,
name: Symbol,
hash: Option<&Svh>,
kind: PathKind
) -> Option<CrateNum>
🔬 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 verify_no_symbol_conflicts(&self, span: Span, root: &CrateRoot)
[src]
fn verify_no_symbol_conflicts(&self, span: Span, root: &CrateRoot)
🔬 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 register_crate(
&mut self,
root: &Option<CratePaths>,
ident: Symbol,
name: Symbol,
span: Span,
lib: Library,
dep_kind: DepKind
) -> (CrateNum, Lrc<CrateMetadata>)
[src]
fn register_crate(
&mut self,
root: &Option<CratePaths>,
ident: Symbol,
name: Symbol,
span: Span,
lib: Library,
dep_kind: DepKind
) -> (CrateNum, Lrc<CrateMetadata>)
🔬 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 resolve_crate(
&mut self,
root: &Option<CratePaths>,
ident: Symbol,
name: Symbol,
hash: Option<&Svh>,
extra_filename: Option<&str>,
span: Span,
path_kind: PathKind,
dep_kind: DepKind
) -> (CrateNum, Lrc<CrateMetadata>)
[src]
fn resolve_crate(
&mut self,
root: &Option<CratePaths>,
ident: Symbol,
name: Symbol,
hash: Option<&Svh>,
extra_filename: Option<&str>,
span: Span,
path_kind: PathKind,
dep_kind: DepKind
) -> (CrateNum, Lrc<CrateMetadata>)
🔬 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 load(&mut self, locate_ctxt: &mut Context) -> Option<LoadResult>
[src]
fn load(&mut self, locate_ctxt: &mut Context) -> Option<LoadResult>
🔬 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 update_extern_crate(
&mut self,
cnum: CrateNum,
extern_crate: ExternCrate,
visited: &mut FxHashSet<(CrateNum, bool)>
)
[src]
fn update_extern_crate(
&mut self,
cnum: CrateNum,
extern_crate: ExternCrate,
visited: &mut FxHashSet<(CrateNum, 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 resolve_crate_deps(
&mut self,
root: &Option<CratePaths>,
crate_root: &CrateRoot,
metadata: &MetadataBlob,
krate: CrateNum,
span: Span,
dep_kind: DepKind
) -> CrateNumMap
[src]
fn resolve_crate_deps(
&mut self,
root: &Option<CratePaths>,
crate_root: &CrateRoot,
metadata: &MetadataBlob,
krate: CrateNum,
span: Span,
dep_kind: DepKind
) -> CrateNumMap
🔬 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 read_extension_crate(
&mut self,
span: Span,
orig_name: Symbol,
rename: Symbol
) -> ExtensionCrate
[src]
fn read_extension_crate(
&mut self,
span: Span,
orig_name: Symbol,
rename: Symbol
) -> ExtensionCrate
🔬 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 load_derive_macros(
&mut self,
root: &CrateRoot,
dylib: Option<PathBuf>,
span: Span
) -> Vec<(Name, Lrc<SyntaxExtension>)>
[src]
fn load_derive_macros(
&mut self,
root: &CrateRoot,
dylib: Option<PathBuf>,
span: Span
) -> Vec<(Name, Lrc<SyntaxExtension>)>
🔬 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?
Load custom derive macros.
Note that this is intentionally similar to how we load plugins today, but also intentionally separate. Plugins are likely always going to be implemented as dynamic libraries, but we have a possible future where custom derive (and other macro-1.1 style features) are implemented via executables and custom IPC.
pub fn find_plugin_registrar(
&mut self,
span: Span,
name: &str
) -> Option<(PathBuf, CrateDisambiguator)>
[src]
pub fn find_plugin_registrar(
&mut self,
span: Span,
name: &str
) -> Option<(PathBuf, CrateDisambiguator)>
🔬 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?
Look for a plugin registrar. Returns library path, crate SVH and DefIndex of the registrar function.
fn inject_panic_runtime(&mut self, krate: &Crate)
[src]
fn inject_panic_runtime(&mut self, krate: &Crate)
🔬 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 inject_sanitizer_runtime(&mut self)
[src]
fn inject_sanitizer_runtime(&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?
fn inject_profiler_runtime(&mut self)
[src]
fn inject_profiler_runtime(&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?
fn inject_allocator_crate(&mut self, krate: &Crate)
[src]
fn inject_allocator_crate(&mut self, krate: &Crate)
🔬 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 inject_dependency_if(
&self,
krate: CrateNum,
what: &str,
needs_dep: &Fn(&CrateMetadata) -> bool
)
[src]
fn inject_dependency_if(
&self,
krate: CrateNum,
what: &str,
needs_dep: &Fn(&CrateMetadata) -> 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?
Trait Implementations
impl<'a> CrateLoader for CrateLoader<'a>
[src]
impl<'a> CrateLoader for CrateLoader<'a>
fn postprocess(&mut self, krate: &Crate)
[src]
fn postprocess(&mut self, krate: &Crate)
🔬 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 process_extern_crate(
&mut self,
item: &Item,
definitions: &Definitions
) -> CrateNum
[src]
fn process_extern_crate(
&mut self,
item: &Item,
definitions: &Definitions
) -> CrateNum
🔬 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 process_path_extern(&mut self, name: Symbol, span: Span) -> CrateNum
[src]
fn process_path_extern(&mut self, name: Symbol, span: Span) -> CrateNum
🔬 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 process_use_extern(
&mut self,
name: Symbol,
span: Span,
id: NodeId,
definitions: &Definitions
) -> CrateNum
[src]
fn process_use_extern(
&mut self,
name: Symbol,
span: Span,
id: NodeId,
definitions: &Definitions
) -> CrateNum
🔬 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<'a> !Send for CrateLoader<'a>
impl<'a> !Send for CrateLoader<'a>
impl<'a> !Sync for CrateLoader<'a>
impl<'a> !Sync for CrateLoader<'a>