Skip to content

Commit 944a740

Browse files
authored
Rollup merge of rust-lang#60052 - varkor:unused-parameter-diagnostic, r=estebank
Correct unused parameter diagnostic The message was incorrect for unused lifetime parameters. There's no need to be specific.
2 parents e708645 + 048ba28 commit 944a740

14 files changed

+27
-24
lines changed

src/librustc_typeck/check/wfcheck.rs

+8-5
Original file line numberDiff line numberDiff line change
@@ -938,17 +938,20 @@ fn check_variances_for_type_defn<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
938938
.map(|(index, _)| Parameter(index as u32))
939939
.collect();
940940

941-
identify_constrained_generic_params(tcx,
942-
&ty_predicates,
943-
None,
944-
&mut constrained_parameters);
941+
identify_constrained_generic_params(
942+
tcx,
943+
&ty_predicates,
944+
None,
945+
&mut constrained_parameters,
946+
);
945947

946948
for (index, _) in variances.iter().enumerate() {
947949
if constrained_parameters.contains(&Parameter(index as u32)) {
948950
continue;
949951
}
950952

951953
let param = &hir_generics.params[index];
954+
952955
match param.name {
953956
hir::ParamName::Error => { }
954957
_ => report_bivariance(tcx, param.span, param.name.ident().name),
@@ -1123,7 +1126,7 @@ fn error_392<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, span: Span, param_name: ast:
11231126
-> DiagnosticBuilder<'tcx> {
11241127
let mut err = struct_span_err!(tcx.sess, span, E0392,
11251128
"parameter `{}` is never used", param_name);
1126-
err.span_label(span, "unused type parameter");
1129+
err.span_label(span, "unused parameter");
11271130
err
11281131
}
11291132

src/test/ui/error-codes/E0392.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ error[E0392]: parameter `T` is never used
22
--> $DIR/E0392.rs:1:10
33
|
44
LL | enum Foo<T> { Bar }
5-
| ^ unused type parameter
5+
| ^ unused parameter
66
|
77
= help: consider removing `T` or using a marker such as `std::marker::PhantomData`
88

src/test/ui/inner-static-type-parameter.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ error[E0392]: parameter `T` is never used
1212
--> $DIR/inner-static-type-parameter.rs:3:10
1313
|
1414
LL | enum Bar<T> { What }
15-
| ^ unused type parameter
15+
| ^ unused parameter
1616
|
1717
= help: consider removing `T` or using a marker such as `std::marker::PhantomData`
1818

src/test/ui/issues/issue-17904-2.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ error[E0392]: parameter `T` is never used
22
--> $DIR/issue-17904-2.rs:4:12
33
|
44
LL | struct Foo<T> where T: Copy;
5-
| ^ unused type parameter
5+
| ^ unused parameter
66
|
77
= help: consider removing `T` or using a marker such as `std::marker::PhantomData`
88

src/test/ui/issues/issue-20413.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ error[E0392]: parameter `T` is never used
22
--> $DIR/issue-20413.rs:5:15
33
|
44
LL | struct NoData<T>;
5-
| ^ unused type parameter
5+
| ^ unused parameter
66
|
77
= help: consider removing `T` or using a marker such as `std::marker::PhantomData`
88

src/test/ui/issues/issue-36299.stderr

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ error[E0392]: parameter `'a` is never used
22
--> $DIR/issue-36299.rs:1:12
33
|
44
LL | struct Foo<'a, A> {}
5-
| ^^ unused type parameter
5+
| ^^ unused parameter
66
|
77
= help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
88

99
error[E0392]: parameter `A` is never used
1010
--> $DIR/issue-36299.rs:1:16
1111
|
1212
LL | struct Foo<'a, A> {}
13-
| ^ unused type parameter
13+
| ^ unused parameter
1414
|
1515
= help: consider removing `A` or using a marker such as `std::marker::PhantomData`
1616

src/test/ui/issues/issue-36638.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ error[E0392]: parameter `Self` is never used
1414
--> $DIR/issue-36638.rs:3:12
1515
|
1616
LL | struct Foo<Self>(Self);
17-
| ^^^^ unused type parameter
17+
| ^^^^ unused parameter
1818
|
1919
= help: consider removing `Self` or using a marker such as `std::marker::PhantomData`
2020

src/test/ui/issues/issue-37534.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ error[E0392]: parameter `T` is never used
1818
--> $DIR/issue-37534.rs:1:12
1919
|
2020
LL | struct Foo<T: ?Hash> { }
21-
| ^ unused type parameter
21+
| ^ unused parameter
2222
|
2323
= help: consider removing `T` or using a marker such as `std::marker::PhantomData`
2424

src/test/ui/regions/region-bounds-on-objects-and-type-parameters.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ error[E0392]: parameter `'c` is never used
2525
--> $DIR/region-bounds-on-objects-and-type-parameters.rs:11:18
2626
|
2727
LL | struct Foo<'a,'b,'c> {
28-
| ^^ unused type parameter
28+
| ^^ unused parameter
2929
|
3030
= help: consider removing `'c` or using a marker such as `std::marker::PhantomData`
3131

src/test/ui/self/self_type_keyword.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ error[E0392]: parameter `'Self` is never used
6262
--> $DIR/self_type_keyword.rs:8:12
6363
|
6464
LL | struct Bar<'Self>;
65-
| ^^^^^ unused type parameter
65+
| ^^^^^ unused parameter
6666
|
6767
= help: consider removing `'Self` or using a marker such as `std::marker::PhantomData`
6868

src/test/ui/variance/variance-regions-unused-direct.stderr

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ error[E0392]: parameter `'a` is never used
22
--> $DIR/variance-regions-unused-direct.rs:5:18
33
|
44
LL | struct Bivariant<'a>;
5-
| ^^ unused type parameter
5+
| ^^ unused parameter
66
|
77
= help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
88

99
error[E0392]: parameter `'d` is never used
1010
--> $DIR/variance-regions-unused-direct.rs:7:19
1111
|
1212
LL | struct Struct<'a, 'd> {
13-
| ^^ unused type parameter
13+
| ^^ unused parameter
1414
|
1515
= help: consider removing `'d` or using a marker such as `std::marker::PhantomData`
1616

src/test/ui/variance/variance-regions-unused-indirect.stderr

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ error[E0392]: parameter `'a` is never used
22
--> $DIR/variance-regions-unused-indirect.rs:3:10
33
|
44
LL | enum Foo<'a> {
5-
| ^^ unused type parameter
5+
| ^^ unused parameter
66
|
77
= help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
88

99
error[E0392]: parameter `'a` is never used
1010
--> $DIR/variance-regions-unused-indirect.rs:7:10
1111
|
1212
LL | enum Bar<'a> {
13-
| ^^ unused type parameter
13+
| ^^ unused parameter
1414
|
1515
= help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
1616

src/test/ui/variance/variance-unused-region-param.stderr

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ error[E0392]: parameter `'a` is never used
22
--> $DIR/variance-unused-region-param.rs:3:19
33
|
44
LL | struct SomeStruct<'a> { x: u32 }
5-
| ^^ unused type parameter
5+
| ^^ unused parameter
66
|
77
= help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
88

99
error[E0392]: parameter `'a` is never used
1010
--> $DIR/variance-unused-region-param.rs:4:15
1111
|
1212
LL | enum SomeEnum<'a> { Nothing }
13-
| ^^ unused type parameter
13+
| ^^ unused parameter
1414
|
1515
= help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
1616

src/test/ui/variance/variance-unused-type-param.stderr

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,23 @@ error[E0392]: parameter `A` is never used
22
--> $DIR/variance-unused-type-param.rs:6:19
33
|
44
LL | struct SomeStruct<A> { x: u32 }
5-
| ^ unused type parameter
5+
| ^ unused parameter
66
|
77
= help: consider removing `A` or using a marker such as `std::marker::PhantomData`
88

99
error[E0392]: parameter `A` is never used
1010
--> $DIR/variance-unused-type-param.rs:9:15
1111
|
1212
LL | enum SomeEnum<A> { Nothing }
13-
| ^ unused type parameter
13+
| ^ unused parameter
1414
|
1515
= help: consider removing `A` or using a marker such as `std::marker::PhantomData`
1616

1717
error[E0392]: parameter `T` is never used
1818
--> $DIR/variance-unused-type-param.rs:13:15
1919
|
2020
LL | enum ListCell<T> {
21-
| ^ unused type parameter
21+
| ^ unused parameter
2222
|
2323
= help: consider removing `T` or using a marker such as `std::marker::PhantomData`
2424

0 commit comments

Comments
 (0)