`rustc_span::symbol` defines some things that are re-exported from
`rustc_span`, such as `Symbol` and `sym`. But it doesn't re-export some
closely related things such as `Ident` and `kw`. So you can do `use
rustc_span::{Symbol, sym}` but you have to do `use
rustc_span::symbol::{Ident, kw}`, which is inconsistent for no good
reason.
This commit re-exports `Ident`, `kw`, and `MacroRulesNormalizedIdent`,
and changes many `rustc_span::symbol::` qualifiers in `compiler/` to
`rustc_span::`. This is a 200+ net line of code reduction, mostly
because many files with two `use rustc_span` items can be reduced to
one.
41 lines
1.1 KiB
Rust
41 lines
1.1 KiB
Rust
pub mod codegen_fn_attrs;
|
|
pub mod debugger_visualizer;
|
|
pub mod dependency_format;
|
|
pub mod exported_symbols;
|
|
pub mod lang_items;
|
|
pub mod lib_features {
|
|
use rustc_data_structures::unord::UnordMap;
|
|
use rustc_macros::{HashStable, TyDecodable, TyEncodable};
|
|
use rustc_span::{Span, Symbol};
|
|
|
|
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
|
|
#[derive(HashStable, TyEncodable, TyDecodable)]
|
|
pub enum FeatureStability {
|
|
AcceptedSince(Symbol),
|
|
Unstable,
|
|
}
|
|
|
|
#[derive(HashStable, Debug, Default)]
|
|
pub struct LibFeatures {
|
|
pub stability: UnordMap<Symbol, (FeatureStability, Span)>,
|
|
}
|
|
|
|
impl LibFeatures {
|
|
pub fn to_sorted_vec(&self) -> Vec<(Symbol, FeatureStability)> {
|
|
self.stability
|
|
.to_sorted_stable_ord()
|
|
.iter()
|
|
.map(|(&sym, &(stab, _))| (sym, stab))
|
|
.collect()
|
|
}
|
|
}
|
|
}
|
|
pub mod limits;
|
|
pub mod privacy;
|
|
pub mod region;
|
|
pub mod resolve_bound_vars;
|
|
pub mod stability;
|
|
|
|
pub fn provide(providers: &mut crate::query::Providers) {
|
|
limits::provide(providers);
|
|
}
|