Rollup merge of #128412 - compiler-errors:crate-level-only, r=cjgillot

Remove `crate_level_only` from `ELIDED_LIFETIMES_IN_PATHS`

As far as I can tell, we provide the right node id to the `ELIDED_LIFETIMES_IN_PATHS` lint:

f8060d282d/compiler/rustc_resolve/src/late.rs (L2015-L2027)

So I've gone ahead and removed the restriction from this lint.
This commit is contained in:
Matthias Krüger 2024-07-31 15:36:33 +02:00 committed by GitHub
commit 06b837231a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 32 additions and 2 deletions

View File

@ -1834,8 +1834,7 @@ declare_lint! {
/// [placeholder lifetime]: https://doc.rust-lang.org/reference/lifetime-elision.html#lifetime-elision-in-functions /// [placeholder lifetime]: https://doc.rust-lang.org/reference/lifetime-elision.html#lifetime-elision-in-functions
pub ELIDED_LIFETIMES_IN_PATHS, pub ELIDED_LIFETIMES_IN_PATHS,
Allow, Allow,
"hidden lifetime parameters in types are deprecated", "hidden lifetime parameters in types are deprecated"
crate_level_only
} }
declare_lint! { declare_lint! {

View File

@ -0,0 +1,11 @@
struct Foo<'a>(&'a ());
fn test(_: Foo) {}
#[deny(elided_lifetimes_in_paths)]
mod w {
fn test2(_: super::Foo) {}
//~^ ERROR hidden lifetime parameters in types are deprecated
}
fn main() {}

View File

@ -0,0 +1,20 @@
error: hidden lifetime parameters in types are deprecated
--> $DIR/elided-lint-in-mod.rs:7:24
|
LL | fn test2(_: super::Foo) {}
| -------^^^
| |
| expected lifetime parameter
|
note: the lint level is defined here
--> $DIR/elided-lint-in-mod.rs:5:8
|
LL | #[deny(elided_lifetimes_in_paths)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^
help: indicate the anonymous lifetime
|
LL | fn test2(_: super::Foo<'_>) {}
| ++++
error: aborting due to 1 previous error