Now that future-incompat-report support has landed in nightly Cargo, we can start to make progress towards removing the various proc-macro back-compat hacks that have accumulated in the compiler. This PR introduces a new lint `proc_macro_back_compat`, which results in a future-incompat-report entry being generated. All proc-macro back-compat warnings will be grouped under this lint. Note that this lint will never actually become a hard error - instead, we will remove the special cases for various macros, which will cause older versions of those crates to emit some other error. I've added code to fire this lint for the `time-macros-impl` case. This is the easiest case out of all of our current back-compat hacks - the crate was renamed to `time-macros`, so seeing a filename with `time-macros-impl` guarantees that an older version of the parent `time` crate is in use. When Cargo's future-incompat-report feature gets stabilized, affected users will start to see future-incompat warnings when they build their crates. |
||
|---|---|---|
| .. | ||
| mbe | ||
| mut_visit | ||
| parse | ||
| tokenstream | ||
| base.rs | ||
| build.rs | ||
| config.rs | ||
| expand.rs | ||
| lib.rs | ||
| mbe.rs | ||
| module.rs | ||
| placeholders.rs | ||
| proc_macro.rs | ||
| proc_macro_server.rs | ||
| tests.rs | ||