Skip to content

Commit 3d080a4

Browse files
committed
introduce crate rustc_feature and move active, accepted, and removed to it
1 parent c4375c9 commit 3d080a4

File tree

31 files changed

+87
-52
lines changed

31 files changed

+87
-52
lines changed

Cargo.lock

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3199,6 +3199,7 @@ dependencies = [
31993199
"rustc_data_structures",
32003200
"rustc_error_codes",
32013201
"rustc_errors",
3202+
"rustc_feature",
32023203
"rustc_fs_util",
32033204
"rustc_index",
32043205
"rustc_macros",
@@ -3607,6 +3608,13 @@ dependencies = [
36073608
"unicode-width",
36083609
]
36093610

3611+
[[package]]
3612+
name = "rustc_feature"
3613+
version = "0.0.0"
3614+
dependencies = [
3615+
"syntax_pos",
3616+
]
3617+
36103618
[[package]]
36113619
name = "rustc_fs_util"
36123620
version = "0.0.0"
@@ -3682,6 +3690,7 @@ dependencies = [
36823690
"rustc",
36833691
"rustc_data_structures",
36843692
"rustc_error_codes",
3693+
"rustc_feature",
36853694
"rustc_index",
36863695
"rustc_target",
36873696
"syntax",
@@ -3786,6 +3795,7 @@ dependencies = [
37863795
"rustc_data_structures",
37873796
"rustc_error_codes",
37883797
"rustc_errors",
3798+
"rustc_feature",
37893799
"rustc_lexer",
37903800
"rustc_target",
37913801
"smallvec 1.0.0",
@@ -3802,6 +3812,7 @@ dependencies = [
38023812
"rustc_data_structures",
38033813
"rustc_error_codes",
38043814
"rustc_errors",
3815+
"rustc_feature",
38053816
"rustc_index",
38063817
"rustc_parse",
38073818
"rustc_target",
@@ -4442,6 +4453,7 @@ dependencies = [
44424453
"rustc_data_structures",
44434454
"rustc_error_codes",
44444455
"rustc_errors",
4456+
"rustc_feature",
44454457
"rustc_index",
44464458
"rustc_lexer",
44474459
"rustc_macros",
@@ -4458,6 +4470,7 @@ dependencies = [
44584470
"log",
44594471
"rustc_data_structures",
44604472
"rustc_errors",
4473+
"rustc_feature",
44614474
"rustc_lexer",
44624475
"rustc_parse",
44634476
"serialize",
@@ -4475,6 +4488,7 @@ dependencies = [
44754488
"rustc_data_structures",
44764489
"rustc_error_codes",
44774490
"rustc_errors",
4491+
"rustc_feature",
44784492
"rustc_parse",
44794493
"rustc_target",
44804494
"smallvec 1.0.0",

src/librustc/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ rustc-rayon = "0.3.0"
2222
rustc-rayon-core = "0.3.0"
2323
polonius-engine = "0.10.0"
2424
rustc_apfloat = { path = "../librustc_apfloat" }
25+
rustc_feature = { path = "../librustc_feature" }
2526
rustc_target = { path = "../librustc_target" }
2627
rustc_macros = { path = "../librustc_macros" }
2728
rustc_data_structures = { path = "../librustc_data_structures" }

src/librustc/arena.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ macro_rules! arena_types {
100100
[few] resolve_lifetimes: rustc::middle::resolve_lifetime::ResolveLifetimes,
101101
[few] lint_levels: rustc::lint::LintLevelMap,
102102
[few] stability_index: rustc::middle::stability::Index<'tcx>,
103-
[few] features: syntax::feature_gate::Features,
103+
[few] features: rustc_feature::Features,
104104
[few] all_traits: Vec<rustc::hir::def_id::DefId>,
105105
[few] privacy_access_levels: rustc::middle::privacy::AccessLevels,
106106
[few] target_features_whitelist: rustc_data_structures::fx::FxHashMap<

src/librustc/ich/impls_syntax.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
use crate::ich::StableHashingContext;
55

66
use syntax::ast;
7-
use syntax::feature_gate;
87
use syntax_pos::SourceFile;
98

109
use crate::hir::def_id::{DefId, CrateNum, CRATE_DEF_INDEX};
@@ -156,7 +155,7 @@ fn stable_normalized_pos(np: ::syntax_pos::NormalizedPos,
156155
}
157156

158157

159-
impl<'tcx> HashStable<StableHashingContext<'tcx>> for feature_gate::Features {
158+
impl<'tcx> HashStable<StableHashingContext<'tcx>> for rustc_feature::Features {
160159
fn hash_stable(&self, hcx: &mut StableHashingContext<'tcx>, hasher: &mut StableHasher) {
161160
// Unfortunately we cannot exhaustively list fields here, since the
162161
// struct is macro generated.

src/librustc/query/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1130,7 +1130,7 @@ rustc_queries! {
11301130
desc { |tcx| "estimating size for `{}`", tcx.def_path_str(def.def_id()) }
11311131
}
11321132

1133-
query features_query(_: CrateNum) -> &'tcx feature_gate::Features {
1133+
query features_query(_: CrateNum) -> &'tcx rustc_feature::Features {
11341134
eval_always
11351135
desc { "looking up enabled feature gates" }
11361136
}

src/librustc/session/mod.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ use errors::emitter::{Emitter, EmitterWriter};
2121
use errors::emitter::HumanReadableErrorType;
2222
use errors::annotate_snippet_emitter_writer::{AnnotateSnippetEmitterWriter};
2323
use syntax::edition::Edition;
24-
use syntax::feature_gate;
2524
use errors::json::JsonEmitter;
2625
use syntax::source_map;
2726
use syntax::sess::ParseSess;
@@ -86,7 +85,7 @@ pub struct Session {
8685
/// `rustc_codegen_llvm::back::symbol_names` module for more information.
8786
pub crate_disambiguator: Once<CrateDisambiguator>,
8887

89-
features: Once<feature_gate::Features>,
88+
features: Once<rustc_feature::Features>,
9089

9190
/// The maximum recursion limit for potentially infinitely recursive
9291
/// operations such as auto-dereference and monomorphization.
@@ -473,11 +472,11 @@ impl Session {
473472
/// DO NOT USE THIS METHOD if there is a TyCtxt available, as it circumvents
474473
/// dependency tracking. Use tcx.features() instead.
475474
#[inline]
476-
pub fn features_untracked(&self) -> &feature_gate::Features {
475+
pub fn features_untracked(&self) -> &rustc_feature::Features {
477476
self.features.get()
478477
}
479478

480-
pub fn init_features(&self, features: feature_gate::Features) {
479+
pub fn init_features(&self, features: rustc_feature::Features) {
481480
self.features.set(features);
482481
}
483482

src/librustc/ty/context.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ use rustc_macros::HashStable;
7272
use syntax::ast;
7373
use syntax::attr;
7474
use syntax::source_map::MultiSpan;
75-
use syntax::feature_gate;
7675
use syntax::symbol::{Symbol, kw, sym};
7776
use syntax_pos::Span;
7877
use syntax::expand::allocator::AllocatorKind;
@@ -1315,7 +1314,7 @@ impl<'tcx> TyCtxt<'tcx> {
13151314
self.cstore.allocator_kind()
13161315
}
13171316

1318-
pub fn features(self) -> &'tcx feature_gate::Features {
1317+
pub fn features(self) -> &'tcx rustc_feature::Features {
13191318
self.features_query(LOCAL_CRATE)
13201319
}
13211320

src/librustc/ty/query/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ use std::any::type_name;
5656
use syntax_pos::{Span, DUMMY_SP};
5757
use syntax::attr;
5858
use syntax::ast;
59-
use syntax::feature_gate;
6059
use syntax::symbol::Symbol;
6160

6261
#[macro_use]

src/librustc_feature/Cargo.toml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[package]
2+
authors = ["The Rust Project Developers"]
3+
name = "rustc_feature"
4+
version = "0.0.0"
5+
edition = "2018"
6+
7+
[lib]
8+
name = "rustc_feature"
9+
path = "lib.rs"
10+
doctest = false
11+
12+
[dependencies]
13+
syntax_pos = { path = "../libsyntax_pos" }

src/libsyntax/feature_gate/accepted.rs renamed to src/librustc_feature/accepted.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//! List of the accepted feature gates.
22
3-
use crate::symbol::sym;
43
use super::{State, Feature};
4+
use syntax_pos::symbol::sym;
55

66
macro_rules! declare_features {
77
($(

0 commit comments

Comments
 (0)