Trait rustc_codegen_utils::codegen_backend::CodegenBackend [−][src]
pub trait CodegenBackend {
fn metadata_loader(&self) -> Box<MetadataLoader + Sync>;
fn provide(&self, _providers: &mut Providers);
fn provide_extern(&self, _providers: &mut Providers);
fn codegen_crate<'a, 'tcx>(
&self,
tcx: TyCtxt<'a, 'tcx, 'tcx>,
rx: Receiver<Box<Any + Send>>
) -> Box<Any>;
fn join_codegen_and_link(
&self,
ongoing_codegen: Box<Any>,
sess: &Session,
dep_graph: &DepGraph,
outputs: &OutputFilenames
) -> Result<(), CompileIncomplete>;
fn init(&self, _sess: &Session) { ... }
fn print(&self, _req: PrintRequest, _sess: &Session) { ... }
fn target_features(&self, _sess: &Session) -> Vec<Symbol> { ... }
fn print_passes(&self) { ... }
fn print_version(&self) { ... }
fn diagnostics(&self) -> &[(&'static str, &'static str)] { ... }
}🔬 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?
Required Methods
fn metadata_loader(&self) -> Box<MetadataLoader + Sync>
🔬 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 provide(&self, _providers: &mut Providers)
🔬 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 provide_extern(&self, _providers: &mut Providers)
🔬 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 codegen_crate<'a, 'tcx>(
&self,
tcx: TyCtxt<'a, 'tcx, 'tcx>,
rx: Receiver<Box<Any + Send>>
) -> Box<Any>
&self,
tcx: TyCtxt<'a, 'tcx, 'tcx>,
rx: Receiver<Box<Any + Send>>
) -> Box<Any>
🔬 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 join_codegen_and_link(
&self,
ongoing_codegen: Box<Any>,
sess: &Session,
dep_graph: &DepGraph,
outputs: &OutputFilenames
) -> Result<(), CompileIncomplete>
&self,
ongoing_codegen: Box<Any>,
sess: &Session,
dep_graph: &DepGraph,
outputs: &OutputFilenames
) -> Result<(), CompileIncomplete>
🔬 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 called on the returned Box<Any> from codegen_backend
Panics
Panics when the passed Box<Any> was not returned by codegen_backend.
Provided Methods
fn init(&self, _sess: &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?
fn print(&self, _req: PrintRequest, _sess: &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?
fn target_features(&self, _sess: &Session) -> Vec<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?
fn print_passes(&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 print_version(&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 diagnostics(&self) -> &[(&'static str, &'static str)]
🔬 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?
Implementors
impl CodegenBackend for DummyCodegenBackendimpl CodegenBackend for MetadataOnlyCodegenBackend