about summary refs log tree commit diff
path: root/tests/ui/array-slice-vec/array-not-vector.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-04-30 08:17:30 +0000
committerbors <bors@rust-lang.org>2025-04-30 08:17:30 +0000
commitd2eadb7a94ef8c9deb5137695df33cd1fc5aee92 (patch)
tree04512e985a99a3715b4a0829826be7139fdcee09 /tests/ui/array-slice-vec/array-not-vector.rs
parent427288b3ce2d574847fdb41cc3184c893750e09a (diff)
parent20faf8532b5ddeb636ba3078344b0cad058c8f8a (diff)
downloadrust-d2eadb7a94ef8c9deb5137695df33cd1fc5aee92.tar.gz
rust-d2eadb7a94ef8c9deb5137695df33cd1fc5aee92.zip
Auto merge of #139720 - petrochenkov:errkind2, r=jieyouxu
compiletest: Make diagnostic kind mandatory on line annotations (take 2)

Compiletest currently accepts line annotations without kind in UI tests.
```
    let a = b + c; //~ my message
```

Such annotations have two effects.
- First, they match any compiler-produced diagnostic kind. This functionality is never used in practice, there are no target-dependent diagnostic kinds of something like that.
- Second, they are not "viral". For example, any explicit `//~ NOTE my msg` in a test requires all other `NOTE` diagnostics in the same test to be annotated. Implicit `//~ my msg` will just match the note and won't require other annotations.

The second functionality has a replacement since recently - directive `//@ dont-require-annotations: NOTE`.

This PR removes support for `//~ my message` and makes the explicit diagnostic kind mandatory.
Unwanted additional annotations are suppressed using the `dont-require-annotations` directive.

Closes https://github.com/rust-lang/compiler-team/issues/862.
Previous attempt - #139427.
r? `@jieyouxu`
Diffstat (limited to 'tests/ui/array-slice-vec/array-not-vector.rs')
-rw-r--r--tests/ui/array-slice-vec/array-not-vector.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/tests/ui/array-slice-vec/array-not-vector.rs b/tests/ui/array-slice-vec/array-not-vector.rs
index d8b5b10d591..7345f721918 100644
--- a/tests/ui/array-slice-vec/array-not-vector.rs
+++ b/tests/ui/array-slice-vec/array-not-vector.rs
@@ -1,12 +1,14 @@
+//@ dont-require-annotations: NOTE
+
 fn main() {
     let _x: i32 = [1, 2, 3];
     //~^ ERROR mismatched types
-    //~| expected `i32`, found `[{integer}; 3]`
+    //~| NOTE expected `i32`, found `[{integer}; 3]`
 
     let x: &[i32] = &[1, 2, 3];
     let _y: &i32 = x;
     //~^ ERROR mismatched types
-    //~| expected reference `&i32`
-    //~| found reference `&[i32]`
-    //~| expected `&i32`, found `&[i32]`
+    //~| NOTE expected reference `&i32`
+    //~| NOTE found reference `&[i32]`
+    //~| NOTE expected `&i32`, found `&[i32]`
 }