Deprecate rustc plugin support in cargo

It has been removed entirely from rustc itself already
This commit is contained in:
bjorn3 2024-01-04 12:52:57 +01:00
parent f9946d15df
commit f26e2fe1da
3 changed files with 18 additions and 0 deletions

View File

@ -203,6 +203,17 @@ fn clean_lib(
}
};
if lib.plugin == Some(true) {
warnings.push(format!(
"support for rustc plugins has been removed from rustc. \
library `{}` should not specify `plugin = true`",
name_or_panic(lib)
));
warnings.push(format!(
"support for `plugin = true` will be removed from cargo in the future"
));
}
// Per the Macros 1.1 RFC:
//
// > Initially if a crate is compiled with the `proc-macro` crate type

View File

@ -896,6 +896,8 @@ fn plugin_build_script_right_arch() {
.arg(cross_compile::alternate())
.with_stderr(
"\
[WARNING] support for rustc plugins has been removed from rustc. library `foo` should not specify `plugin = true`
[WARNING] support for `plugin = true` will be removed from cargo in the future
[COMPILING] foo v0.0.1 ([..])
[RUNNING] `rustc [..] build.rs [..]`
[RUNNING] `[..]/build-script-build`

View File

@ -378,6 +378,11 @@ fn proc_macro_crate_type_warning_plugin() {
.build();
foo.cargo("check")
.with_stderr_contains(
"[WARNING] support for rustc plugins has been removed from rustc. \
library `foo` should not specify `plugin = true`")
.with_stderr_contains(
"[WARNING] support for `plugin = true` will be removed from cargo in the future")
.with_stderr_contains(
"[WARNING] proc-macro library `foo` should not specify `plugin = true`")
.with_stderr_contains(