diff options
| author | varkor <github@varkor.com> | 2018-07-23 01:20:33 +0100 |
|---|---|---|
| committer | varkor <github@varkor.com> | 2018-08-05 15:54:49 +0100 |
| commit | 5242dce01db3fc42d5ec91eb166cce83194149cb (patch) | |
| tree | 69d2cc1a4ba38482d38d43dab4a557ed83839697 /src/librustc_metadata/encoder.rs | |
| parent | a00ba4d71ea465c7e8074e1abb50970f0c767b28 (diff) | |
| download | rust-5242dce01db3fc42d5ec91eb166cce83194149cb.tar.gz rust-5242dce01db3fc42d5ec91eb166cce83194149cb.zip | |
Add lint for unknown feature attributes
Diffstat (limited to 'src/librustc_metadata/encoder.rs')
| -rw-r--r-- | src/librustc_metadata/encoder.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/librustc_metadata/encoder.rs b/src/librustc_metadata/encoder.rs index 4a02a278bc1..9bb5a849bc7 100644 --- a/src/librustc_metadata/encoder.rs +++ b/src/librustc_metadata/encoder.rs @@ -394,6 +394,11 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> { ()); let dep_bytes = self.position() - i; + // Encode the lib features. + i = self.position(); + let lib_features = self.tracked(IsolatedEncoder::encode_lib_features, ()); + let lib_feature_bytes = self.position() - i; + // Encode the language items. i = self.position(); let lang_items = self.tracked(IsolatedEncoder::encode_lang_items, ()); @@ -513,6 +518,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> { crate_deps, dylib_dependency_formats, + lib_features, lang_items, lang_items_missing, native_libraries, @@ -537,6 +543,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> { println!("metadata stats:"); println!(" dep bytes: {}", dep_bytes); + println!(" lib feature bytes: {}", lib_feature_bytes); println!(" lang item bytes: {}", lang_item_bytes); println!(" native bytes: {}", native_lib_bytes); println!(" codemap bytes: {}", codemap_bytes); @@ -1456,6 +1463,12 @@ impl<'a, 'b: 'a, 'tcx: 'b> IsolatedEncoder<'a, 'b, 'tcx> { self.lazy_seq_ref(deps.iter().map(|&(_, ref dep)| dep)) } + fn encode_lib_features(&mut self, _: ()) -> LazySeq<(ast::Name, Option<ast::Name>)> { + let tcx = self.tcx; + let lib_features = tcx.lib_features(); + self.lazy_seq(lib_features.iter()) + } + fn encode_lang_items(&mut self, _: ()) -> LazySeq<(DefIndex, usize)> { let tcx = self.tcx; let lang_items = tcx.lang_items(); |
