rustc_middle/middle/
mod.rs

1pub mod codegen_fn_attrs;
2pub mod debugger_visualizer;
3pub mod deduced_param_attrs;
4pub mod dependency_format;
5pub mod exported_symbols;
6pub mod lang_items;
7pub mod lib_features {
8    use rustc_data_structures::unord::UnordMap;
9    use rustc_macros::{HashStable, TyDecodable, TyEncodable};
10    use rustc_span::{Span, Symbol};
11
12    #[derive(Copy, Clone, Debug, PartialEq, Eq)]
13    #[derive(HashStable, TyEncodable, TyDecodable)]
14    pub enum FeatureStability {
15        AcceptedSince(Symbol),
16        Unstable { old_name: Option<Symbol> },
17    }
18
19    #[derive(HashStable, Debug, Default)]
20    pub struct LibFeatures {
21        pub stability: UnordMap<Symbol, (FeatureStability, Span)>,
22    }
23
24    impl LibFeatures {
25        pub fn to_sorted_vec(&self) -> Vec<(Symbol, FeatureStability)> {
26            self.stability
27                .to_sorted_stable_ord()
28                .iter()
29                .map(|&(&sym, &(stab, _))| (sym, stab))
30                .collect()
31        }
32    }
33}
34pub mod privacy;
35pub mod region;
36pub mod resolve_bound_vars;
37pub mod stability;