Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e4557f0

Browse files
Use unnamed lifetime spans as primary spans for MISMATCHED_LIFETIME_SYNTAXES
1 parent 6d6a08c commit e4557f0

File tree

13 files changed

+122
-125
lines changed

13 files changed

+122
-125
lines changed

‎compiler/rustc_lint/src/lifetime_syntax.rs‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,9 +214,9 @@ impl<T> LifetimeSyntaxCategories<Vec<T>> {
214214
}
215215
}
216216

217-
pub fn flatten(&self) -> impl Iterator<Item = &T> {
218-
let Self { hidden, elided, named } = self;
219-
[hidden.iter(), elided.iter(), named.iter()].into_iter().flatten()
217+
pub fn iter_unnamed(&self) -> impl Iterator<Item = &T> {
218+
let Self { hidden, elided, named: _ } = self;
219+
[hidden.iter(), elided.iter()].into_iter().flatten()
220220
}
221221
}
222222

@@ -495,7 +495,7 @@ fn emit_mismatch_diagnostic<'tcx>(
495495

496496
cx.emit_span_lint(
497497
MISMATCHED_LIFETIME_SYNTAXES,
498-
inputs.flatten().copied().collect::<Vec<_>>(),
498+
inputs.iter_unnamed().chain(outputs.iter_unnamed()).copied().collect::<Vec<_>>(),
499499
lints::MismatchedLifetimeSyntaxes { inputs, outputs, suggestions },
500500
);
501501
}

‎src/tools/clippy/tests/ui/ptr_arg.stderr‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,10 +268,10 @@ LL | fn barbar(_x: &mut Vec<u32>, y: &mut String) {
268268
| ^^^^^^^^^^^ help: change this to: `&mut str`
269269

270270
error: eliding a lifetime that's named elsewhere is confusing
271-
--> tests/ui/ptr_arg.rs:314:36
271+
--> tests/ui/ptr_arg.rs:314:56
272272
|
273273
LL | fn cow_good_ret_ty<'a>(input: &'a Cow<'a, str>) -> &str {
274-
| ^^ ^^ ---- the same lifetime is elided here
274+
| -- -- ^^^^ the same lifetime is elided here
275275
| | |
276276
| | the lifetime is named here
277277
| the lifetime is named here

‎tests/ui/const-generics/type-dependent/issue-71348.full.stderr‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
warning: hiding a lifetime that's named elsewhere is confusing
2-
--> $DIR/issue-71348.rs:18:40
2+
--> $DIR/issue-71348.rs:18:56
33
|
44
LL | fn ask<'a, const N: &'static str>(&'a self) -> &'a <Self as Get<N>>::Target
5-
| ^^ -- ------------------------ the same lifetime is hidden here
5+
| -- -- ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
66
| | |
77
| | the same lifetime is named here
88
| the lifetime is named here

‎tests/ui/impl-trait/rpit-assoc-pair-with-lifetime.stderr‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
warning: eliding a lifetime that's named elsewhere is confusing
2-
--> $DIR/rpit-assoc-pair-with-lifetime.rs:3:31
2+
--> $DIR/rpit-assoc-pair-with-lifetime.rs:3:82
33
|
44
LL | pub fn iter<'a>(v: Vec<(u32, &'a u32)>) -> impl DoubleEndedIterator<Item = (u32, &u32)> {
5-
| ^^ the lifetime is named here ---- the same lifetime is elided here
5+
| -- the lifetime is named here ^^^^ the same lifetime is elided here
66
|
77
= help: the same lifetime is referred to in inconsistent ways, making the signature confusing
88
= note: `#[warn(mismatched_lifetime_syntaxes)]` on by default

‎tests/ui/lifetimes/mismatched-lifetime-syntaxes-details/example-from-issue48686.stderr‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
error: eliding a lifetime that's named elsewhere is confusing
2-
--> $DIR/example-from-issue48686.rs:6:21
2+
--> $DIR/example-from-issue48686.rs:6:50
33
|
44
LL | pub fn get_mut(&'static self, x: &mut u8) -> &mut u8 {
5-
| ^^^^^^^ ------- the same lifetime is elided here
5+
| ------- ^^^^^^^ the same lifetime is elided here
66
| |
77
| the lifetime is named here
88
|

‎tests/ui/lifetimes/mismatched-lifetime-syntaxes-details/missing-lifetime-kind.stderr‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
error: eliding a lifetime that's named elsewhere is confusing
2-
--> $DIR/missing-lifetime-kind.rs:3:22
2+
--> $DIR/missing-lifetime-kind.rs:3:32
33
|
44
LL | fn ampersand<'a>(x: &'a u8) -> &u8 {
5-
| ^^ --- the same lifetime is elided here
5+
| -- ^^^ the same lifetime is elided here
66
| |
77
| the lifetime is named here
88
|
@@ -18,10 +18,10 @@ LL | fn ampersand<'a>(x: &'a u8) -> &'a u8 {
1818
| ++
1919

2020
error: hiding a lifetime that's named elsewhere is confusing
21-
--> $DIR/missing-lifetime-kind.rs:10:21
21+
--> $DIR/missing-lifetime-kind.rs:10:31
2222
|
2323
LL | fn brackets<'a>(x: &'a u8) -> Brackets {
24-
| ^^ -------- the same lifetime is hidden here
24+
| -- ^^^^^^^^ the same lifetime is hidden here
2525
| |
2626
| the lifetime is named here
2727
|
@@ -32,10 +32,10 @@ LL | fn brackets<'a>(x: &'a u8) -> Brackets<'a> {
3232
| ++++
3333

3434
error: hiding a lifetime that's named elsewhere is confusing
35-
--> $DIR/missing-lifetime-kind.rs:17:18
35+
--> $DIR/missing-lifetime-kind.rs:17:28
3636
|
3737
LL | fn comma<'a>(x: &'a u8) -> Comma<u8> {
38-
| ^^ --------- the same lifetime is hidden here
38+
| -- ^^^^^^^^^ the same lifetime is hidden here
3939
| |
4040
| the lifetime is named here
4141
|
@@ -46,10 +46,10 @@ LL | fn comma<'a>(x: &'a u8) -> Comma<'a, u8> {
4646
| +++
4747

4848
error: eliding a lifetime that's named elsewhere is confusing
49-
--> $DIR/missing-lifetime-kind.rs:22:23
49+
--> $DIR/missing-lifetime-kind.rs:22:34
5050
|
5151
LL | fn underscore<'a>(x: &'a u8) -> &'_ u8 {
52-
| ^^ -- the same lifetime is elided here
52+
| -- ^^ the same lifetime is elided here
5353
| |
5454
| the lifetime is named here
5555
|

‎tests/ui/lifetimes/mismatched-lifetime-syntaxes-details/not-tied-to-crate.stderr‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
warning: eliding a lifetime that's named elsewhere is confusing
2-
--> $DIR/not-tied-to-crate.rs:8:16
2+
--> $DIR/not-tied-to-crate.rs:8:31
33
|
44
LL | fn bar(x: &'static u8) -> &u8 {
5-
| ^^^^^^^ --- the same lifetime is elided here
5+
| ------- ^^^ the same lifetime is elided here
66
| |
77
| the lifetime is named here
88
|
@@ -18,10 +18,10 @@ LL | fn bar(x: &'static u8) -> &'static u8 {
1818
| +++++++
1919

2020
error: eliding a lifetime that's named elsewhere is confusing
21-
--> $DIR/not-tied-to-crate.rs:14:16
21+
--> $DIR/not-tied-to-crate.rs:14:31
2222
|
2323
LL | fn baz(x: &'static u8) -> &u8 {
24-
| ^^^^^^^ --- the same lifetime is elided here
24+
| ------- ^^^ the same lifetime is elided here
2525
| |
2626
| the lifetime is named here
2727
|

‎tests/ui/lifetimes/mismatched-lifetime-syntaxes-details/static.stderr‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
error: eliding a lifetime that's named elsewhere is confusing
2-
--> $DIR/static.rs:16:18
2+
--> $DIR/static.rs:16:33
33
|
44
LL | fn ampersand(x: &'static u8) -> &u8 {
5-
| ^^^^^^^ --- the same lifetime is elided here
5+
| ------- ^^^ the same lifetime is elided here
66
| |
77
| the lifetime is named here
88
|
@@ -18,10 +18,10 @@ LL | fn ampersand(x: &'static u8) -> &'static u8 {
1818
| +++++++
1919

2020
error: hiding a lifetime that's named elsewhere is confusing
21-
--> $DIR/static.rs:23:17
21+
--> $DIR/static.rs:23:32
2222
|
2323
LL | fn brackets(x: &'static u8) -> Brackets {
24-
| ^^^^^^^ -------- the same lifetime is hidden here
24+
| ------- ^^^^^^^^ the same lifetime is hidden here
2525
| |
2626
| the lifetime is named here
2727
|
@@ -32,10 +32,10 @@ LL | fn brackets(x: &'static u8) -> Brackets<'static> {
3232
| +++++++++
3333

3434
error: hiding a lifetime that's named elsewhere is confusing
35-
--> $DIR/static.rs:30:14
35+
--> $DIR/static.rs:30:29
3636
|
3737
LL | fn comma(x: &'static u8) -> Comma<u8> {
38-
| ^^^^^^^ --------- the same lifetime is hidden here
38+
| ------- ^^^^^^^^^ the same lifetime is hidden here
3939
| |
4040
| the lifetime is named here
4141
|
@@ -46,10 +46,10 @@ LL | fn comma(x: &'static u8) -> Comma<'static, u8> {
4646
| ++++++++
4747

4848
error: eliding a lifetime that's named elsewhere is confusing
49-
--> $DIR/static.rs:35:19
49+
--> $DIR/static.rs:35:35
5050
|
5151
LL | fn underscore(x: &'static u8) -> &'_ u8 {
52-
| ^^^^^^^ -- the same lifetime is elided here
52+
| ------- ^^ the same lifetime is elided here
5353
| |
5454
| the lifetime is named here
5555
|

‎tests/ui/lifetimes/mismatched-lifetime-syntaxes.rs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ fn explicit_bound_path_to_implicit_path<'a>(v: ContainsLifetime<'a>) -> Contains
3636

3737
fn explicit_bound_path_to_explicit_anonymous_path<'a>(
3838
v: ContainsLifetime<'a>,
39-
//~^ ERROR eliding a lifetime that's named elsewhere is confusing
4039
) -> ContainsLifetime<'_> {
40+
//~^ ERROR eliding a lifetime that's named elsewhere is confusing
4141
v
4242
}
4343

@@ -188,8 +188,8 @@ mod impl_trait {
188188

189189
fn explicit_bound_path_to_impl_trait_precise_capture<'a>(
190190
v: ContainsLifetime<'a>,
191-
//~^ ERROR eliding a lifetime that's named elsewhere is confusing
192191
) -> impl FnOnce() + use<'_> {
192+
//~^ ERROR eliding a lifetime that's named elsewhere is confusing
193193
move || _ = v
194194
}
195195
}
@@ -208,8 +208,8 @@ mod dyn_trait {
208208

209209
fn explicit_bound_path_to_dyn_trait_bound<'a>(
210210
v: ContainsLifetime<'a>,
211-
//~^ ERROR hiding a lifetime that's named elsewhere is confusing
212211
) -> Box<dyn Iterator<Item = ContainsLifetime> + '_> {
212+
//~^ ERROR hiding a lifetime that's named elsewhere is confusing
213213
Box::new(iter::once(v))
214214
}
215215
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /