]> git.lizzy.rs Git - rust.git/commitdiff
Reword E0392 slightly
authorEsteban Küber <esteban@kuber.com.ar>
Mon, 30 Sep 2019 20:35:26 +0000 (13:35 -0700)
committerEsteban Küber <esteban@kuber.com.ar>
Mon, 30 Sep 2019 20:35:26 +0000 (13:35 -0700)
Make it clearer that a type or lifetime argument not being used can be
fixed by referencing it in a struct's fields, not just using `PhathomData`.

15 files changed:
src/librustc_typeck/check/wfcheck.rs
src/test/ui/const-generics/const-param-type-depends-on-type-param.stderr
src/test/ui/error-codes/E0392.stderr
src/test/ui/inner-static-type-parameter.stderr
src/test/ui/issues/issue-17904-2.stderr
src/test/ui/issues/issue-20413.stderr
src/test/ui/issues/issue-36299.stderr
src/test/ui/issues/issue-36638.stderr
src/test/ui/issues/issue-37534.stderr
src/test/ui/regions/region-bounds-on-objects-and-type-parameters.stderr
src/test/ui/self/self_type_keyword.stderr
src/test/ui/variance/variance-regions-unused-direct.stderr
src/test/ui/variance/variance-regions-unused-indirect.stderr
src/test/ui/variance/variance-unused-region-param.stderr
src/test/ui/variance/variance-unused-type-param.stderr

index 20c517d779b42c0c6057682b1c290d0d8ac7b132..4dc5c6ca3074d53fd3b5e70016e3ed6a808ea241 100644 (file)
@@ -999,11 +999,16 @@ fn report_bivariance(tcx: TyCtxt<'_>, span: Span, param_name: ast::Name) {
 
     let suggested_marker_id = tcx.lang_items().phantom_data();
     // Help is available only in presence of lang items.
-    if let Some(def_id) = suggested_marker_id {
-        err.help(&format!("consider removing `{}` or using a marker such as `{}`",
-                          param_name,
-                          tcx.def_path_str(def_id)));
-    }
+    let msg = if let Some(def_id) = suggested_marker_id {
+        format!(
+            "consider removing `{}`, refering to it in a field or using a marker such as `{}`",
+            param_name,
+            tcx.def_path_str(def_id),
+        )
+    } else {
+        format!( "consider removing `{}` or refering to it in a field", param_name)
+    };
+    err.help(&msg);
     err.emit();
 }
 
index 142efe45ac2d7ce8a042fdbad6dd7be1b53bf89d..b72c68036d701b8cc63b0b8e3513191b1e8425a2 100644 (file)
@@ -18,7 +18,7 @@ error[E0392]: parameter `T` is never used
 LL | pub struct Dependent<T, const X: T>([(); X]);
    |                      ^ unused parameter
    |
-   = help: consider removing `T` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `T`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error: aborting due to 2 previous errors
 
index d0b808df184c4bcb7c07414ea05354f790e07481..d036cb5a07f3df10755788a9a91e801309d0f998 100644 (file)
@@ -4,7 +4,7 @@ error[E0392]: parameter `T` is never used
 LL | enum Foo<T> { Bar }
    |          ^ unused parameter
    |
-   = help: consider removing `T` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `T`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error: aborting due to previous error
 
index 083b4b67eb459159358c3dbc7f754a5e02d07348..f945dbda7d78aee332aacd09ce6ac62c405c5eea 100644 (file)
@@ -14,7 +14,7 @@ error[E0392]: parameter `T` is never used
 LL | enum Bar<T> { What }
    |          ^ unused parameter
    |
-   = help: consider removing `T` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `T`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error: aborting due to 2 previous errors
 
index 930409cc6372767b3e530f8ccad434d957d3491c..b84922a4d8f6a81c4f87deb59674a9951c9436a1 100644 (file)
@@ -4,7 +4,7 @@ error[E0392]: parameter `T` is never used
 LL | struct Foo<T> where T: Copy;
    |            ^ unused parameter
    |
-   = help: consider removing `T` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `T`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error: aborting due to previous error
 
index 72a8fe4283b565c13abd624af98109b8eac0b68b..1c3ff16a2071a8097bbf98879866c7e460c9712e 100644 (file)
@@ -4,7 +4,7 @@ error[E0392]: parameter `T` is never used
 LL | struct NoData<T>;
    |               ^ unused parameter
    |
-   = help: consider removing `T` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `T`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error[E0275]: overflow evaluating the requirement `NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<NoData<T>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>: Foo`
   --> $DIR/issue-20413.rs:8:1
index edbe790a0c9f6b42963bac76b093beddba241475..2a9e01421c06d1bd1a9f97215c551ac3ae1eb58c 100644 (file)
@@ -4,7 +4,7 @@ error[E0392]: parameter `'a` is never used
 LL | struct Foo<'a, A> {}
    |            ^^ unused parameter
    |
-   = help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `'a`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error[E0392]: parameter `A` is never used
   --> $DIR/issue-36299.rs:1:16
@@ -12,7 +12,7 @@ error[E0392]: parameter `A` is never used
 LL | struct Foo<'a, A> {}
    |                ^ unused parameter
    |
-   = help: consider removing `A` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `A`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error: aborting due to 2 previous errors
 
index f3f94198465d878463b34a40e3af4cec4b7de64f..68354b569ff5135416c67afac658bfe74661c020 100644 (file)
@@ -16,7 +16,7 @@ error[E0392]: parameter `Self` is never used
 LL | struct Foo<Self>(Self);
    |            ^^^^ unused parameter
    |
-   = help: consider removing `Self` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `Self`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error: aborting due to 3 previous errors
 
index 3a0ab32dcc66be9064271551c331c7ef3f31360c..baf75771b13679dc4c1d1b6bf898dd271af1341e 100644 (file)
@@ -20,7 +20,7 @@ error[E0392]: parameter `T` is never used
 LL | struct Foo<T: ?Hash> { }
    |            ^ unused parameter
    |
-   = help: consider removing `T` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `T`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error: aborting due to 2 previous errors
 
index 003dd0699d3811e58084b4927ea95817a7487f26..5c0df850cba0b82781242a067c59842e26dd85bf 100644 (file)
@@ -27,7 +27,7 @@ error[E0392]: parameter `'c` is never used
 LL | struct Foo<'a,'b,'c> {
    |                  ^^ unused parameter
    |
-   = help: consider removing `'c` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `'c`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error: aborting due to 3 previous errors
 
index 6534d8c36e343420b05cb025d05f5143c86a9d89..ee82d9da6229cbe4a84346c65a3aa8c4428e0ea5 100644 (file)
@@ -76,7 +76,7 @@ error[E0392]: parameter `'Self` is never used
 LL | struct Bar<'Self>;
    |            ^^^^^ unused parameter
    |
-   = help: consider removing `'Self` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `'Self`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error: aborting due to 12 previous errors
 
index 21ff475663c6c8ca0f4f61db6fd3583fe0d2aae0..3d1158d4f799fd507c98012193f730b95e492637 100644 (file)
@@ -4,7 +4,7 @@ error[E0392]: parameter `'a` is never used
 LL | struct Bivariant<'a>;
    |                  ^^ unused parameter
    |
-   = help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `'a`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error[E0392]: parameter `'d` is never used
   --> $DIR/variance-regions-unused-direct.rs:7:19
@@ -12,7 +12,7 @@ error[E0392]: parameter `'d` is never used
 LL | struct Struct<'a, 'd> {
    |                   ^^ unused parameter
    |
-   = help: consider removing `'d` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `'d`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error: aborting due to 2 previous errors
 
index fd66217f692f10b6afde9ba073f1b19f6fc83db2..ccb2213f80b776372f851e35cdd4023c7dfe7ee3 100644 (file)
@@ -4,7 +4,7 @@ error[E0392]: parameter `'a` is never used
 LL | enum Foo<'a> {
    |          ^^ unused parameter
    |
-   = help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `'a`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error[E0392]: parameter `'a` is never used
   --> $DIR/variance-regions-unused-indirect.rs:7:10
@@ -12,7 +12,7 @@ error[E0392]: parameter `'a` is never used
 LL | enum Bar<'a> {
    |          ^^ unused parameter
    |
-   = help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `'a`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error: aborting due to 2 previous errors
 
index a96b2338bf4282059d8b811464377e56fecaa236..228fe7483f6ff5d707c026da476484bfc948874b 100644 (file)
@@ -4,7 +4,7 @@ error[E0392]: parameter `'a` is never used
 LL | struct SomeStruct<'a> { x: u32 }
    |                   ^^ unused parameter
    |
-   = help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `'a`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error[E0392]: parameter `'a` is never used
   --> $DIR/variance-unused-region-param.rs:4:15
@@ -12,7 +12,7 @@ error[E0392]: parameter `'a` is never used
 LL | enum SomeEnum<'a> { Nothing }
    |               ^^ unused parameter
    |
-   = help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `'a`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error: aborting due to 2 previous errors
 
index 883db462986246b484835aa262d5e0028f72d3d3..5acf8adfe879149444ddc62e4d9820b75ad0f3c3 100644 (file)
@@ -4,7 +4,7 @@ error[E0392]: parameter `A` is never used
 LL | struct SomeStruct<A> { x: u32 }
    |                   ^ unused parameter
    |
-   = help: consider removing `A` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `A`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error[E0392]: parameter `A` is never used
   --> $DIR/variance-unused-type-param.rs:9:15
@@ -12,7 +12,7 @@ error[E0392]: parameter `A` is never used
 LL | enum SomeEnum<A> { Nothing }
    |               ^ unused parameter
    |
-   = help: consider removing `A` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `A`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error[E0392]: parameter `T` is never used
   --> $DIR/variance-unused-type-param.rs:13:15
@@ -20,7 +20,7 @@ error[E0392]: parameter `T` is never used
 LL | enum ListCell<T> {
    |               ^ unused parameter
    |
-   = help: consider removing `T` or using a marker such as `std::marker::PhantomData`
+   = help: consider removing `T`, refering to it in a field or using a marker such as `std::marker::PhantomData`
 
 error: aborting due to 3 previous errors