Skip to content

Commit

Permalink
Rollup merge of #52265 - ljedrz:dyn_librustc_codegen_utils, r=oli-obk
Browse files Browse the repository at this point in the history
Deny bare trait objects in in src/librustc_codegen_utils

Enforce `#![deny(bare_trait_objects)]` in `src/librustc_codegen_utils`.
  • Loading branch information
Mark-Simulacrum authored Jul 11, 2018
2 parents 7585bd5 + 715b885 commit a0b288e
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 12 deletions.
24 changes: 12 additions & 12 deletions src/librustc_codegen_utils/codegen_backend.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,23 +56,23 @@ pub trait CodegenBackend {
fn print_version(&self) {}
fn diagnostics(&self) -> &[(&'static str, &'static str)] { &[] }

fn metadata_loader(&self) -> Box<MetadataLoader + Sync>;
fn metadata_loader(&self) -> Box<dyn 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: mpsc::Receiver<Box<Any + Send>>
) -> Box<Any>;
rx: mpsc::Receiver<Box<dyn Any + Send>>
) -> Box<dyn Any>;

/// This is called on the returned `Box<Any>` from `codegen_backend`
/// This is called on the returned `Box<dyn Any>` from `codegen_backend`
///
/// # Panics
///
/// Panics when the passed `Box<Any>` was not returned by `codegen_backend`.
/// Panics when the passed `Box<dyn Any>` was not returned by `codegen_backend`.
fn join_codegen_and_link(
&self,
ongoing_codegen: Box<Any>,
ongoing_codegen: Box<dyn Any>,
sess: &Session,
dep_graph: &DepGraph,
outputs: &OutputFilenames,
Expand Down Expand Up @@ -105,7 +105,7 @@ pub struct OngoingCodegen {
}

impl MetadataOnlyCodegenBackend {
pub fn new() -> Box<CodegenBackend> {
pub fn new() -> Box<dyn CodegenBackend> {
box MetadataOnlyCodegenBackend(())
}
}
Expand All @@ -125,7 +125,7 @@ impl CodegenBackend for MetadataOnlyCodegenBackend {
}
}

fn metadata_loader(&self) -> Box<MetadataLoader + Sync> {
fn metadata_loader(&self) -> Box<dyn MetadataLoader + Sync> {
box NoLlvmMetadataLoader
}

Expand All @@ -145,8 +145,8 @@ impl CodegenBackend for MetadataOnlyCodegenBackend {
fn codegen_crate<'a, 'tcx>(
&self,
tcx: TyCtxt<'a, 'tcx, 'tcx>,
_rx: mpsc::Receiver<Box<Any + Send>>
) -> Box<Any> {
_rx: mpsc::Receiver<Box<dyn Any + Send>>
) -> Box<dyn Any> {
use rustc_mir::monomorphize::item::MonoItem;

::check_for_rustc_errors_attr(tcx);
Expand Down Expand Up @@ -193,13 +193,13 @@ impl CodegenBackend for MetadataOnlyCodegenBackend {

fn join_codegen_and_link(
&self,
ongoing_codegen: Box<Any>,
ongoing_codegen: Box<dyn Any>,
sess: &Session,
_dep_graph: &DepGraph,
outputs: &OutputFilenames,
) -> Result<(), CompileIncomplete> {
let ongoing_codegen = ongoing_codegen.downcast::<OngoingCodegen>()
.expect("Expected MetadataOnlyCodegenBackend's OngoingCodegen, found Box<Any>");
.expect("Expected MetadataOnlyCodegenBackend's OngoingCodegen, found Box<dyn Any>");
for &crate_type in sess.opts.crate_types.iter() {
if crate_type != CrateType::CrateTypeRlib && crate_type != CrateType::CrateTypeDylib {
continue;
Expand Down
1 change: 1 addition & 0 deletions src/librustc_codegen_utils/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#![feature(box_syntax)]
#![feature(custom_attribute)]
#![allow(unused_attributes)]
#![deny(bare_trait_objects)]
#![feature(quote)]
#![feature(rustc_diagnostic_macros)]

Expand Down

0 comments on commit a0b288e

Please sign in to comment.