pub static PROC_MACRO_BACK_COMPAT: &Lint
proc_macro_back_compat lint detects uses of old versions of certain
proc-macro crates, which have hardcoded workarounds in the compiler.
use time_macros_impl::impl_macros; struct Foo; impl_macros!(Foo);
This will produce:
warning: using an old version of `time-macros-impl` ::: $DIR/group-compat-hack.rs:27:5 | LL | impl_macros!(Foo); | ------------------ in this macro invocation | = note: `#[warn(proc_macro_back_compat)]` on by default = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #83125 <https://github.com/rust-lang/rust/issues/83125> = note: the `time-macros-impl` crate will stop compiling in futures version of Rust. Please update to the latest version of the `time` crate to avoid breakage = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
Eventually, the backwards-compatibility hacks present in the compiler will be removed, causing older versions of certain crates to stop compiling. This is a future-incompatible lint to ease the transition to an error. See issue #83125 for more details.