From e5944a5a698a0a9dd3acbb14d8309a2b72cd9160 Mon Sep 17 00:00:00 2001 From: Vadim Petrochenkov Date: Sat, 30 Nov 2019 15:35:25 +0300 Subject: [PATCH] rustc_plugin: Some further cleanup Remove a useless test --- src/librustc_interface/passes.rs | 3 +- src/librustc_plugin_impl/lib.rs | 16 ++++++--- src/librustc_plugin_impl/load.rs | 2 +- src/librustc_plugin_impl/registry.rs | 36 ------------------- src/test/ui-fulldeps/plugin-args-1.rs | 8 ----- src/test/ui-fulldeps/plugin-args-1.stderr | 8 ----- .../{plugin-args-2.rs => plugin-args.rs} | 0 ...lugin-args-2.stderr => plugin-args.stderr} | 4 +-- 8 files changed, 15 insertions(+), 62 deletions(-) delete mode 100644 src/librustc_plugin_impl/registry.rs delete mode 100644 src/test/ui-fulldeps/plugin-args-1.rs delete mode 100644 src/test/ui-fulldeps/plugin-args-1.stderr rename src/test/ui-fulldeps/{plugin-args-2.rs => plugin-args.rs} (100%) rename src/test/ui-fulldeps/{plugin-args-2.stderr => plugin-args.stderr} (88%) diff --git a/src/librustc_interface/passes.rs b/src/librustc_interface/passes.rs index 7ed1d12666f..f985a5b3755 100644 --- a/src/librustc_interface/passes.rs +++ b/src/librustc_interface/passes.rs @@ -30,7 +30,6 @@ use rustc_mir as mir; use rustc_parse::{parse_crate_from_file, parse_crate_from_source_str}; use rustc_passes::{self, ast_validation, hir_stats, layout_test}; use rustc_plugin_impl as plugin; -use rustc_plugin_impl::registry::Registry; use rustc_privacy; use rustc_resolve::{Resolver, ResolverArenas}; use rustc_traits; @@ -218,7 +217,7 @@ pub fn register_plugins<'a>( plugin::load::load_plugins(sess, metadata_loader, &krate) }); time(sess, "plugin registration", || { - let mut registry = Registry::new(sess, &mut lint_store, krate.span); + let mut registry = plugin::Registry { lint_store: &mut lint_store }; for registrar in registrars { registrar(&mut registry); } diff --git a/src/librustc_plugin_impl/lib.rs b/src/librustc_plugin_impl/lib.rs index f4e90b7b7da..5c4ea39aecc 100644 --- a/src/librustc_plugin_impl/lib.rs +++ b/src/librustc_plugin_impl/lib.rs @@ -10,10 +10,16 @@ #![feature(nll)] -#![recursion_limit="256"] +use rustc::lint::LintStore; -pub use registry::Registry; - -pub mod registry; -pub mod load; pub mod build; +pub mod load; + +/// Structure used to register plugins. +/// +/// A plugin registrar function takes an `&mut Registry` and should call +/// methods to register its plugins. +pub struct Registry<'a> { + /// The `LintStore` allows plugins to register new lints. + pub lint_store: &'a mut LintStore, +} diff --git a/src/librustc_plugin_impl/load.rs b/src/librustc_plugin_impl/load.rs index 6f2af6895e4..0bd91076592 100644 --- a/src/librustc_plugin_impl/load.rs +++ b/src/librustc_plugin_impl/load.rs @@ -3,7 +3,7 @@ use rustc::middle::cstore::MetadataLoader; use rustc::session::Session; use rustc_metadata::locator; -use crate::registry::Registry; +use crate::Registry; use std::borrow::ToOwned; use std::env; diff --git a/src/librustc_plugin_impl/registry.rs b/src/librustc_plugin_impl/registry.rs deleted file mode 100644 index fb749050756..00000000000 --- a/src/librustc_plugin_impl/registry.rs +++ /dev/null @@ -1,36 +0,0 @@ -//! Used by plugin crates to tell `rustc` about the plugins they provide. - -use rustc::lint::LintStore; -use rustc::session::Session; -use syntax_pos::Span; - -/// Structure used to register plugins. -/// -/// A plugin registrar function takes an `&mut Registry` and should call -/// methods to register its plugins. -/// -/// This struct has public fields and other methods for use by `rustc` -/// itself. They are not documented here, and plugin authors should -/// not use them. -pub struct Registry<'a> { - /// Compiler session. Useful if you want to emit diagnostic messages - /// from the plugin registrar. - pub sess: &'a Session, - - /// The `LintStore` allows plugins to register new lints. - pub lint_store: &'a mut LintStore, - - #[doc(hidden)] - pub krate_span: Span, -} - -impl<'a> Registry<'a> { - #[doc(hidden)] - pub fn new(sess: &'a Session, lint_store: &'a mut LintStore, krate_span: Span) -> Registry<'a> { - Registry { - sess, - lint_store, - krate_span, - } - } -} diff --git a/src/test/ui-fulldeps/plugin-args-1.rs b/src/test/ui-fulldeps/plugin-args-1.rs deleted file mode 100644 index 1865819053e..00000000000 --- a/src/test/ui-fulldeps/plugin-args-1.rs +++ /dev/null @@ -1,8 +0,0 @@ -// check-pass -// aux-build:empty-plugin.rs -// ignore-stage1 - -#![feature(plugin)] -#![plugin(empty_plugin)] //~ WARNING compiler plugins are deprecated - -fn main() {} diff --git a/src/test/ui-fulldeps/plugin-args-1.stderr b/src/test/ui-fulldeps/plugin-args-1.stderr deleted file mode 100644 index 4e82961acc2..00000000000 --- a/src/test/ui-fulldeps/plugin-args-1.stderr +++ /dev/null @@ -1,8 +0,0 @@ -warning: use of deprecated attribute `plugin`: compiler plugins are deprecated. See https://github.com/rust-lang/rust/pull/64675 - --> $DIR/plugin-args-1.rs:6:1 - | -LL | #![plugin(empty_plugin)] - | ^^^^^^^^^^^^^^^^^^^^^^^^ help: may be removed in a future compiler version - | - = note: `#[warn(deprecated)]` on by default - diff --git a/src/test/ui-fulldeps/plugin-args-2.rs b/src/test/ui-fulldeps/plugin-args.rs similarity index 100% rename from src/test/ui-fulldeps/plugin-args-2.rs rename to src/test/ui-fulldeps/plugin-args.rs diff --git a/src/test/ui-fulldeps/plugin-args-2.stderr b/src/test/ui-fulldeps/plugin-args.stderr similarity index 88% rename from src/test/ui-fulldeps/plugin-args-2.stderr rename to src/test/ui-fulldeps/plugin-args.stderr index fcdb07f99bd..2b9094c4c44 100644 --- a/src/test/ui-fulldeps/plugin-args-2.stderr +++ b/src/test/ui-fulldeps/plugin-args.stderr @@ -1,11 +1,11 @@ error[E0498]: malformed `plugin` attribute - --> $DIR/plugin-args-2.rs:5:11 + --> $DIR/plugin-args.rs:5:11 | LL | #![plugin(empty_plugin(args))] | ^^^^^^^^^^^^^^^^^^ malformed attribute warning: use of deprecated attribute `plugin`: compiler plugins are deprecated. See https://github.com/rust-lang/rust/pull/64675 - --> $DIR/plugin-args-2.rs:5:1 + --> $DIR/plugin-args.rs:5:1 | LL | #![plugin(empty_plugin(args))] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: may be removed in a future compiler version