Skip to content

Commit 9cffe90

Browse files
committed
Deny bare trait objects in in src/librustc_metadata
1 parent ae5b629 commit 9cffe90

File tree

6 files changed

+14
-12
lines changed

6 files changed

+14
-12
lines changed

src/librustc_metadata/creader.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,7 @@ impl<'a> CrateLoader<'a> {
536536
Ok(f) => f,
537537
Err(err) => self.sess.span_fatal(span, &err),
538538
};
539-
mem::transmute::<*mut u8, fn(&mut Registry)>(sym)
539+
mem::transmute::<*mut u8, fn(&mut dyn Registry)>(sym)
540540
};
541541

542542
struct MyRegistrar {
@@ -1019,7 +1019,7 @@ impl<'a> CrateLoader<'a> {
10191019
fn inject_dependency_if(&self,
10201020
krate: CrateNum,
10211021
what: &str,
1022-
needs_dep: &Fn(&cstore::CrateMetadata) -> bool) {
1022+
needs_dep: &dyn Fn(&cstore::CrateMetadata) -> bool) {
10231023
// don't perform this validation if the session has errors, as one of
10241024
// those errors may indicate a circular dependency which could cause
10251025
// this to stack overflow.

src/librustc_metadata/cstore.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,11 @@ pub struct CStore {
9090
metas: RwLock<IndexVec<CrateNum, Option<Lrc<CrateMetadata>>>>,
9191
/// Map from NodeId's of local extern crate statements to crate numbers
9292
extern_mod_crate_map: Lock<NodeMap<CrateNum>>,
93-
pub metadata_loader: Box<MetadataLoader + Sync>,
93+
pub metadata_loader: Box<dyn MetadataLoader + Sync>,
9494
}
9595

9696
impl CStore {
97-
pub fn new(metadata_loader: Box<MetadataLoader + Sync>) -> CStore {
97+
pub fn new(metadata_loader: Box<dyn MetadataLoader + Sync>) -> CStore {
9898
CStore {
9999
// We add an empty entry for LOCAL_CRATE (which maps to zero) in
100100
// order to make array indices in `metas` match with the

src/librustc_metadata/cstore_impl.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -413,11 +413,11 @@ pub fn provide<'tcx>(providers: &mut Providers<'tcx>) {
413413
}
414414

415415
impl CrateStore for cstore::CStore {
416-
fn crate_data_as_rc_any(&self, krate: CrateNum) -> Lrc<Any> {
416+
fn crate_data_as_rc_any(&self, krate: CrateNum) -> Lrc<dyn Any> {
417417
self.get_crate_data(krate)
418418
}
419419

420-
fn metadata_loader(&self) -> &MetadataLoader {
420+
fn metadata_loader(&self) -> &dyn MetadataLoader {
421421
&*self.metadata_loader
422422
}
423423

src/librustc_metadata/decoder.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ impl<'a, 'tcx> MetadataBlob {
391391
}
392392

393393
pub fn list_crate_metadata(&self,
394-
out: &mut io::Write) -> io::Result<()> {
394+
out: &mut dyn io::Write) -> io::Result<()> {
395395
write!(out, "=External Dependencies=\n")?;
396396
let root = self.get_root();
397397
for (i, dep) in root.crate_deps

src/librustc_metadata/lib.rs

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11+
#![deny(bare_trait_objects)]
12+
1113
#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
1214
html_favicon_url = "https://doc.rust-lang.org/favicon.ico",
1315
html_root_url = "https://doc.rust-lang.org/nightly/")]

src/librustc_metadata/locator.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ pub struct Context<'a> {
273273
pub rejected_via_filename: Vec<CrateMismatch>,
274274
pub should_match_name: bool,
275275
pub is_proc_macro: Option<bool>,
276-
pub metadata_loader: &'a MetadataLoader,
276+
pub metadata_loader: &'a dyn MetadataLoader,
277277
}
278278

279279
pub struct CratePaths {
@@ -842,7 +842,7 @@ impl<'a> Context<'a> {
842842
fn get_metadata_section(target: &Target,
843843
flavor: CrateFlavor,
844844
filename: &Path,
845-
loader: &MetadataLoader)
845+
loader: &dyn MetadataLoader)
846846
-> Result<MetadataBlob, String> {
847847
let start = Instant::now();
848848
let ret = get_metadata_section_imp(target, flavor, filename, loader);
@@ -855,7 +855,7 @@ fn get_metadata_section(target: &Target,
855855
fn get_metadata_section_imp(target: &Target,
856856
flavor: CrateFlavor,
857857
filename: &Path,
858-
loader: &MetadataLoader)
858+
loader: &dyn MetadataLoader)
859859
-> Result<MetadataBlob, String> {
860860
if !filename.exists() {
861861
return Err(format!("no such file: '{}'", filename.display()));
@@ -904,8 +904,8 @@ fn get_metadata_section_imp(target: &Target,
904904
// A diagnostic function for dumping crate metadata to an output stream
905905
pub fn list_file_metadata(target: &Target,
906906
path: &Path,
907-
loader: &MetadataLoader,
908-
out: &mut io::Write)
907+
loader: &dyn MetadataLoader,
908+
out: &mut dyn io::Write)
909909
-> io::Result<()> {
910910
let filename = path.file_name().unwrap().to_str().unwrap();
911911
let flavor = if filename.ends_with(".rlib") {

0 commit comments

Comments
 (0)