about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-02-01 18:29:09 +0000
committerbors <bors@rust-lang.org>2020-02-01 18:29:09 +0000
commit13db6501c7273cd1997ce20e15106f362e5613c4 (patch)
tree57e51357738bcddc9ce15e18ac5da193f57035d3 /src/test
parent64184a3288eca13ddfb7bc2e7b5231cbb8d5b88f (diff)
parent1a3141c86e9b91d4f75117075d943b72ee7dba48 (diff)
downloadrust-13db6501c7273cd1997ce20e15106f362e5613c4.tar.gz
rust-13db6501c7273cd1997ce20e15106f362e5613c4.zip
Auto merge of #68133 - Centril:slimmer-syntax, r=petrochenkov
Slimmer syntax

High-level summary of changes:

- The `syntax::node_count` pass is moved into `rustc_ast_passes`. This works towards improving #65031 by making compiling `syntax` go faster.

- The `syntax::{GLOBALS, with_globals, ..}` business is consolidated into `syntax::attr` for cleaner code and future possible improvements.

- The pretty printer loses its dependency on `ParseSess`, opting to use `SourceMap` & friends directly instead.

- Some drive by cleanup of `syntax::attr::HasAttr` happens.

- Builtin attribute logic (`syntax::attr::builtin`) + `syntax::attr::allow_internal_unstable` is moved into a new `rustc_attr` crate. More logic from `syntax::attr` should be moved into that crate over time. This also means that `syntax` loses all mentions of `ParseSess`, which enables the next point.

- The pretty printer `syntax::print` is moved into a new crate `rustc_ast_pretty`.

- `rustc_session::node_id` is moved back as `syntax::node_id`. As a result, `syntax` gets to drop dependencies on `rustc_session` (and implicitly `rustc_target`), `rustc_error_codes`, and `rustc_errors`. Moreover `rustc_hir` gets to drop its dependency on `rustc_session` as well. At this point, these crates are mostly "pure data crates", which is approaching a desirable end state.

  - We should consider renaming `syntax` to `rustc_ast` now.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui-fulldeps/auxiliary/issue-40001-plugin.rs3
-rw-r--r--src/test/ui-fulldeps/mod_dir_path_canonicalized.rs3
-rw-r--r--src/test/ui-fulldeps/pprust-expr-roundtrip.rs6
3 files changed, 8 insertions, 4 deletions
diff --git a/src/test/ui-fulldeps/auxiliary/issue-40001-plugin.rs b/src/test/ui-fulldeps/auxiliary/issue-40001-plugin.rs
index 725c350fe4e..fbdad29d649 100644
--- a/src/test/ui-fulldeps/auxiliary/issue-40001-plugin.rs
+++ b/src/test/ui-fulldeps/auxiliary/issue-40001-plugin.rs
@@ -1,6 +1,7 @@
 #![feature(box_syntax, plugin, plugin_registrar, rustc_private)]
 #![crate_type = "dylib"]
 
+extern crate rustc_ast_pretty;
 extern crate rustc_driver;
 extern crate rustc_hir;
 #[macro_use] extern crate rustc_lint;
@@ -8,13 +9,13 @@ extern crate rustc_hir;
 extern crate rustc_span;
 extern crate syntax;
 
+use rustc_ast_pretty::pprust;
 use rustc_hir::intravisit;
 use rustc_hir as hir;
 use rustc_hir::Node;
 use rustc_lint::{LateContext, LintPass, LintArray, LateLintPass, LintContext};
 use rustc_driver::plugin::Registry;
 use rustc_span::source_map;
-use syntax::print::pprust;
 
 #[plugin_registrar]
 pub fn plugin_registrar(reg: &mut Registry) {
diff --git a/src/test/ui-fulldeps/mod_dir_path_canonicalized.rs b/src/test/ui-fulldeps/mod_dir_path_canonicalized.rs
index 2b4a9fb21e4..be4b49ada02 100644
--- a/src/test/ui-fulldeps/mod_dir_path_canonicalized.rs
+++ b/src/test/ui-fulldeps/mod_dir_path_canonicalized.rs
@@ -6,12 +6,13 @@
 
 extern crate syntax;
 extern crate rustc_parse;
+extern crate rustc_session;
 extern crate rustc_span;
 
 use rustc_parse::new_parser_from_file;
+use rustc_session::parse::ParseSess;
 use rustc_span::source_map::FilePathMapping;
 use std::path::Path;
-use syntax::sess::ParseSess;
 
 #[path = "mod_dir_simple/test.rs"]
 mod gravy;
diff --git a/src/test/ui-fulldeps/pprust-expr-roundtrip.rs b/src/test/ui-fulldeps/pprust-expr-roundtrip.rs
index 04d1054e287..0f6a88b2691 100644
--- a/src/test/ui-fulldeps/pprust-expr-roundtrip.rs
+++ b/src/test/ui-fulldeps/pprust-expr-roundtrip.rs
@@ -19,19 +19,21 @@
 
 #![feature(rustc_private)]
 
+extern crate rustc_ast_pretty;
 extern crate rustc_data_structures;
 extern crate syntax;
 extern crate rustc_parse;
+extern crate rustc_session;
 extern crate rustc_span;
 
+use rustc_ast_pretty::pprust;
 use rustc_data_structures::thin_vec::ThinVec;
 use rustc_parse::new_parser_from_source_str;
+use rustc_session::parse::ParseSess;
 use rustc_span::source_map::{Spanned, DUMMY_SP, FileName};
 use rustc_span::source_map::FilePathMapping;
 use syntax::ast::*;
-use syntax::sess::ParseSess;
 use syntax::mut_visit::{self, MutVisitor, visit_clobber};
-use syntax::print::pprust;
 use syntax::ptr::P;
 
 fn parse_expr(ps: &ParseSess, src: &str) -> Option<P<Expr>> {