about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorMahdi Dibaiee <mdibaiee@pm.me>2022-01-11 21:28:04 +0000
committerMahdi Dibaiee <mdibaiee@pm.me>2022-01-11 21:28:04 +0000
commit2728af7bc02ab48bf4dd861cb69b5b786ecb261d (patch)
treec6c482b3c60b146a018e530ebac30d649e17041a /src/test
parent959bf2bc2e79defd0fe7d3c9987a6023eb8503cd (diff)
downloadrust-2728af7bc02ab48bf4dd861cb69b5b786ecb261d.tar.gz
rust-2728af7bc02ab48bf4dd861cb69b5b786ecb261d.zip
rustc_pass_by_value: handle inferred generic types (with _)
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.rs8
-rw-r--r--src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.stderr18
2 files changed, 20 insertions, 6 deletions
diff --git a/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.rs b/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.rs
index f8ab0f056d7..402c41f3766 100644
--- a/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.rs
+++ b/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.rs
@@ -105,11 +105,13 @@ struct WithParameters<T, const N: usize, M = u32> {
 }
 
 impl<T> WithParameters<T, 1> {
-    fn test(
+    fn test<'a>(
         value: WithParameters<T, 1>,
-        reference: &WithParameters<T, 1>, //~ ERROR passing `WithParameters<T, 1>` by reference
+        reference: &'a WithParameters<T, 1>, //~ ERROR passing `WithParameters<T, 1>` by reference
         reference_with_m: &WithParameters<T, 1, u32>, //~ ERROR passing `WithParameters<T, 1, u32>` by reference
-    ) {
+    ) -> &'a WithParameters<T, 1> {
+        //~^ ERROR passing `WithParameters<T, 1>` by reference
+        reference as &WithParameters<_, 1> //~ ERROR passing `WithParameters<_, 1>` by reference
     }
 }
 
diff --git a/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.stderr b/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.stderr
index c5307f0f67d..7f6e57b38f3 100644
--- a/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.stderr
+++ b/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.stderr
@@ -103,8 +103,8 @@ LL |         reference: &CustomAlias,
 error: passing `WithParameters<T, 1>` by reference
   --> $DIR/rustc_pass_by_value.rs:110:20
    |
-LL |         reference: &WithParameters<T, 1>,
-   |                    ^^^^^^^^^^^^^^^^^^^^^ help: try passing by value: `WithParameters<T, 1>`
+LL |         reference: &'a WithParameters<T, 1>,
+   |                    ^^^^^^^^^^^^^^^^^^^^^^^^ help: try passing by value: `WithParameters<T, 1>`
 
 error: passing `WithParameters<T, 1, u32>` by reference
   --> $DIR/rustc_pass_by_value.rs:111:27
@@ -112,5 +112,17 @@ error: passing `WithParameters<T, 1, u32>` by reference
 LL |         reference_with_m: &WithParameters<T, 1, u32>,
    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try passing by value: `WithParameters<T, 1, u32>`
 
-error: aborting due to 18 previous errors
+error: passing `WithParameters<T, 1>` by reference
+  --> $DIR/rustc_pass_by_value.rs:112:10
+   |
+LL |     ) -> &'a WithParameters<T, 1> {
+   |          ^^^^^^^^^^^^^^^^^^^^^^^^ help: try passing by value: `WithParameters<T, 1>`
+
+error: passing `WithParameters<_, 1>` by reference
+  --> $DIR/rustc_pass_by_value.rs:114:22
+   |
+LL |         reference as &WithParameters<_, 1>
+   |                      ^^^^^^^^^^^^^^^^^^^^^ help: try passing by value: `WithParameters<_, 1>`
+
+error: aborting due to 20 previous errors