Remove support for compiler plugins.

They've been deprecated for four years.

This commit includes the following changes.
- It eliminates the `rustc_plugin_impl` crate.
- It changes the language used for lints in
  `compiler/rustc_driver_impl/src/lib.rs` and
  `compiler/rustc_lint/src/context.rs`. External lints are now called
  "loaded" lints, rather than "plugins" to avoid confusion with the old
  plugins. This only has a tiny effect on the output of `-W help`.
- E0457 and E0498 are no longer used.
- E0463 is narrowed, now only relating to unfound crates, not plugins.
- The `plugin` feature was moved from "active" to "removed".
- It removes the entire plugins chapter from the unstable book.
- It removes quite a few tests, mostly all of those in
  `tests/ui-fulldeps/plugin/`.

Closes #29597.
This commit is contained in:
Nicholas Nethercote 2023-10-03 13:54:17 +11:00
parent d20471334f
commit 6eaf3f8bb2

View file

@ -262,24 +262,6 @@ pub const INERT_ATTRIBUTES: &[BuiltinAttribute] = &[
naked_functions, experimental!(naked)
),
// Plugins:
// BuiltinAttribute {
// name: sym::plugin,
// only_local: false,
// type_: CrateLevel,
// template: template!(List: "name"),
// duplicates: DuplicatesOk,
// gate: Gated(
// Stability::Deprecated(
// "https://github.com/rust-lang/rust/pull/64675",
// Some("may be removed in a future compiler version"),
// ),
// sym::plugin,
// "compiler plugins are deprecated",
// cfg_fn!(plugin)
// ),
// },
// Testing:
gated!(
test_runner, CrateLevel, template!(List: "path"), ErrorFollowing, custom_test_frameworks,