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