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 DummyCodegenBackend
impl CodegenBackend for MetadataOnlyCodegenBackend