diff options
| author | bors <bors@rust-lang.org> | 2020-02-01 18:29:09 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-02-01 18:29:09 +0000 |
| commit | 13db6501c7273cd1997ce20e15106f362e5613c4 (patch) | |
| tree | 57e51357738bcddc9ce15e18ac5da193f57035d3 /src/test | |
| parent | 64184a3288eca13ddfb7bc2e7b5231cbb8d5b88f (diff) | |
| parent | 1a3141c86e9b91d4f75117075d943b72ee7dba48 (diff) | |
| download | rust-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.rs | 3 | ||||
| -rw-r--r-- | src/test/ui-fulldeps/mod_dir_path_canonicalized.rs | 3 | ||||
| -rw-r--r-- | src/test/ui-fulldeps/pprust-expr-roundtrip.rs | 6 |
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>> { |
