rustc_middle/middle/
mod.rs1pub 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;