From 6cbcb830221a5525f333da95c93bd8622da00765 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Sun, 5 Jan 2020 11:11:39 +0100 Subject: [PATCH] {syntax -> rustc_ast_passes}::feature_gate --- Cargo.lock | 3 +++ src/librustc_ast_passes/Cargo.toml | 2 ++ .../check.rs => librustc_ast_passes/feature_gate.rs} | 11 +++++------ src/librustc_ast_passes/lib.rs | 1 + src/librustc_expand/Cargo.toml | 1 + src/librustc_expand/expand.rs | 3 +-- src/librustc_interface/passes.rs | 2 +- src/libsyntax/lib.rs | 4 ---- 8 files changed, 14 insertions(+), 13 deletions(-) rename src/{libsyntax/feature_gate/check.rs => librustc_ast_passes/feature_gate.rs} (98%) diff --git a/Cargo.lock b/Cargo.lock index 385863abf67..772470d90c5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3378,9 +3378,11 @@ dependencies = [ name = "rustc_ast_passes" version = "0.0.0" dependencies = [ + "log", "rustc_data_structures", "rustc_error_codes", "rustc_errors", + "rustc_feature", "rustc_parse", "rustc_session", "rustc_span", @@ -3553,6 +3555,7 @@ name = "rustc_expand" version = "0.0.0" dependencies = [ "log", + "rustc_ast_passes", "rustc_data_structures", "rustc_errors", "rustc_feature", diff --git a/src/librustc_ast_passes/Cargo.toml b/src/librustc_ast_passes/Cargo.toml index f658618fe8a..dced4a0d15b 100644 --- a/src/librustc_ast_passes/Cargo.toml +++ b/src/librustc_ast_passes/Cargo.toml @@ -9,9 +9,11 @@ name = "rustc_ast_passes" path = "lib.rs" [dependencies] +log = "0.4" rustc_data_structures = { path = "../librustc_data_structures" } rustc_errors = { path = "../librustc_errors", package = "rustc_errors" } rustc_error_codes = { path = "../librustc_error_codes" } +rustc_feature = { path = "../librustc_feature" } rustc_parse = { path = "../librustc_parse" } rustc_session = { path = "../librustc_session" } rustc_span = { path = "../librustc_span" } diff --git a/src/libsyntax/feature_gate/check.rs b/src/librustc_ast_passes/feature_gate.rs similarity index 98% rename from src/libsyntax/feature_gate/check.rs rename to src/librustc_ast_passes/feature_gate.rs index 46a22f12678..1e396d6fe8e 100644 --- a/src/libsyntax/feature_gate/check.rs +++ b/src/librustc_ast_passes/feature_gate.rs @@ -1,9 +1,3 @@ -use crate::ast::{self, AssocTyConstraint, AssocTyConstraintKind, NodeId}; -use crate::ast::{GenericParam, GenericParamKind, PatKind, RangeEnd, VariantData}; -use crate::attr; -use crate::sess::{feature_err, leveled_feature_err, GateStrength, ParseSess}; -use crate::visit::{self, FnKind, Visitor}; - use rustc_error_codes::*; use rustc_errors::{struct_span_err, Handler}; use rustc_feature::{AttributeGate, BUILTIN_ATTRIBUTE_MAP}; @@ -11,6 +5,11 @@ use rustc_feature::{Features, GateIssue, UnstableFeatures}; use rustc_span::source_map::Spanned; use rustc_span::symbol::sym; use rustc_span::Span; +use syntax::ast::{self, AssocTyConstraint, AssocTyConstraintKind, NodeId}; +use syntax::ast::{GenericParam, GenericParamKind, PatKind, RangeEnd, VariantData}; +use syntax::attr; +use syntax::sess::{feature_err, leveled_feature_err, GateStrength, ParseSess}; +use syntax::visit::{self, FnKind, Visitor}; use log::debug; diff --git a/src/librustc_ast_passes/lib.rs b/src/librustc_ast_passes/lib.rs index 8011478ed2f..f8771471e00 100644 --- a/src/librustc_ast_passes/lib.rs +++ b/src/librustc_ast_passes/lib.rs @@ -5,3 +5,4 @@ #![feature(slice_patterns)] pub mod ast_validation; +pub mod feature_gate; diff --git a/src/librustc_expand/Cargo.toml b/src/librustc_expand/Cargo.toml index 2aa1f93378a..d04dd079be7 100644 --- a/src/librustc_expand/Cargo.toml +++ b/src/librustc_expand/Cargo.toml @@ -14,6 +14,7 @@ doctest = false rustc_serialize = { path = "../libserialize", package = "serialize" } log = "0.4" rustc_span = { path = "../librustc_span" } +rustc_ast_passes = { path = "../librustc_ast_passes" } rustc_data_structures = { path = "../librustc_data_structures" } rustc_errors = { path = "../librustc_errors" } rustc_feature = { path = "../librustc_feature" } diff --git a/src/librustc_expand/expand.rs b/src/librustc_expand/expand.rs index f20de93bdeb..3254d0c913d 100644 --- a/src/librustc_expand/expand.rs +++ b/src/librustc_expand/expand.rs @@ -18,7 +18,6 @@ use rustc_span::{FileName, Span, DUMMY_SP}; use syntax::ast::{self, AttrItem, Block, Ident, LitKind, NodeId, PatKind, Path}; use syntax::ast::{ItemKind, MacArgs, MacStmtStyle, StmtKind}; use syntax::attr::{self, is_builtin_attr, HasAttrs}; -use syntax::feature_gate; use syntax::mut_visit::*; use syntax::print::pprust; use syntax::ptr::P; @@ -1062,7 +1061,7 @@ impl<'a, 'b> InvocationCollector<'a, 'b> { fn check_attributes(&mut self, attrs: &[ast::Attribute]) { let features = self.cx.ecfg.features.unwrap(); for attr in attrs.iter() { - feature_gate::check_attribute(attr, self.cx.parse_sess, features); + rustc_ast_passes::feature_gate::check_attribute(attr, self.cx.parse_sess, features); validate_attr::check_meta(self.cx.parse_sess, attr); // macros are expanded before any lint passes so this warning has to be hardcoded diff --git a/src/librustc_interface/passes.rs b/src/librustc_interface/passes.rs index 27bed31b9d6..951fc63fe95 100644 --- a/src/librustc_interface/passes.rs +++ b/src/librustc_interface/passes.rs @@ -399,7 +399,7 @@ fn configure_and_expand_inner<'a>( // Needs to go *after* expansion to be able to check the results of macro expansion. sess.time("complete_gated_feature_checking", || { - syntax::feature_gate::check_crate( + rustc_ast_passes::feature_gate::check_crate( &krate, &sess.parse_sess, &sess.features_untracked(), diff --git a/src/libsyntax/lib.rs b/src/libsyntax/lib.rs index 75c647f2daa..fcefe3d2a02 100644 --- a/src/libsyntax/lib.rs +++ b/src/libsyntax/lib.rs @@ -75,10 +75,6 @@ pub mod ast; pub mod attr; pub mod entry; pub mod expand; -pub mod feature_gate { - mod check; - pub use check::{check_attribute, check_crate}; -} pub mod mut_visit; pub mod ptr; pub mod show_span;