about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/librustc_metadata/decoder.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/librustc_metadata/decoder.rs b/src/librustc_metadata/decoder.rs
index 45a61ec3308..032f8bdd069 100644
--- a/src/librustc_metadata/decoder.rs
+++ b/src/librustc_metadata/decoder.rs
@@ -647,10 +647,12 @@ impl<'a, 'tcx> CrateMetadata {
 
     /// Iterates over all the stability attributes in the given crate.
     pub fn get_lib_features(&self) -> Vec<(ast::Name, Option<ast::Name>)> {
-        self.root
+        let mut features: Vec<_> = self.root
             .lib_features
             .decode(self)
-            .collect()
+            .collect();
+        features.sort_unstable_by_key(|f| f.0.as_str());
+        features
     }
 
     /// Iterates over the language items in the given crate.