rust/compiler/rustc_expand/src
Aaron Hill 390d1ef6d0
Extend proc_macro_back_compat lint to actix-web
Unlike the other cases of this lint, there's no simple way to detect if
an old version of the relevant crate (`syn`) is in use. The `actix-web`
crate only depends on `pin-project` v1.0.0, so checking the version of
`actix-web` does not guarantee that a new enough version of
`pin-project` (and therefore `syn`) is in use.

Instead, we rely on the fact that virtually all of the regressed crates
are pinned to a pre-1.0 version of `pin-project`. When this is the case,
bumping the `actix-web` dependency will pull in the *latest* version of
`pin-project`, which has an explicit dependency on a newer v dependency
on a newer version of `syn`.

The lint message tells users to update `actix-web`, since that's what
they're most likely to have control over. We could potentially tell them
to run `cargo update -p syn`, but I think it's more straightforward to
suggest an explicit change to the `Cargo.toml`

The `actori-web` fork had its last commit over a year ago, and appears
to just be a renamed fork of `actix-web`. Therefore, I've removed the
`actori-web` check entirely - any crates that actually get broken can
simply update `syn` themselves.
2021-03-18 12:09:14 -04:00
..
mbe Add SEMICOLON_IN_EXPRESSIONS_FROM_MACROS lint 2021-01-28 08:51:43 -05:00
mut_visit ast: Stop using Mod in Crate 2021-02-18 13:07:49 +03:00
parse ast: Keep expansion status for out-of-line module items 2021-02-18 13:07:49 +03:00
tokenstream
base.rs Rollup merge of #83168 - Aaron1011:lint-procedural-masquerade, r=petrochenkov 2021-03-18 00:28:10 +01:00
build.rs ast: Reduce size of ExprKind by boxing fields of ExprKind::Struct 2021-03-16 11:41:24 +03:00
config.rs Move full configuration logic from rustc_expand to rustc_builtin_macros 2021-03-07 00:17:31 +03:00
expand.rs ast/hir: Rename field-related structures 2021-03-16 11:41:24 +03:00
lib.rs expand: Introduce enum for module loading errors and make module loading speculative 2021-03-05 01:33:43 +03:00
mbe.rs
module.rs expand: Resolve and expand inner attributes on out-of-line modules 2021-03-14 18:10:29 +03:00
placeholders.rs ast/hir: Rename field-related structures 2021-03-16 11:41:24 +03:00
proc_macro_server.rs Extend proc_macro_back_compat lint to actix-web 2021-03-18 12:09:14 -04:00
proc_macro.rs Extend proc_macro_back_compat lint to procedural-masquerade 2021-03-15 16:00:49 -04:00
tests.rs remove redundant closures (clippy::redundant_closure) 2021-01-03 13:34:24 +01:00