1 pub mod codegen_fn_attrs;
2 pub mod dependency_format;
3 pub mod exported_symbols;
6 use rustc_data_structures::fx::FxHashMap;
7 use rustc_span::{symbol::Symbol, Span};
9 #[derive(HashStable, Debug)]
10 pub struct LibFeatures {
11 /// A map from feature to stabilisation version.
12 pub stable: FxHashMap<Symbol, (Symbol, Span)>,
13 pub unstable: FxHashMap<Symbol, Span>,
17 pub fn to_vec(&self) -> Vec<(Symbol, Option<Symbol>)> {
18 let mut all_features: Vec<_> = self
21 .map(|(f, (s, _))| (*f, Some(*s)))
22 .chain(self.unstable.iter().map(|(f, _)| (*f, None)))
24 all_features.sort_unstable_by(|a, b| a.0.as_str().partial_cmp(b.0.as_str()).unwrap());
32 pub mod resolve_lifetime;
35 pub fn provide(providers: &mut crate::ty::query::Providers) {
36 limits::provide(providers);