about summary refs log tree commit diff
path: root/tests/ui/asm
diff options
context:
space:
mode:
authorJonathan Brouwer <jonathantbrouwer@gmail.com>2025-08-09 20:41:01 +0200
committerJonathan Brouwer <jonathantbrouwer@gmail.com>2025-08-14 18:18:42 +0200
commit4bb7bf64e07fee97439ee6e647aa2b58cbaac54d (patch)
treec90dba79f6e421a1d7d1fd428100ef32b47c0b9b /tests/ui/asm
parent5245c399720cf4f2414c2a4d9b4a5007ad942956 (diff)
downloadrust-4bb7bf64e07fee97439ee6e647aa2b58cbaac54d.tar.gz
rust-4bb7bf64e07fee97439ee6e647aa2b58cbaac54d.zip
Update uitests
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
Diffstat (limited to 'tests/ui/asm')
-rw-r--r--tests/ui/asm/naked-invalid-attr.rs12
-rw-r--r--tests/ui/asm/naked-invalid-attr.stderr73
2 files changed, 41 insertions, 44 deletions
diff --git a/tests/ui/asm/naked-invalid-attr.rs b/tests/ui/asm/naked-invalid-attr.rs
index 6ac9cb9e3a9..c9e0949abfb 100644
--- a/tests/ui/asm/naked-invalid-attr.rs
+++ b/tests/ui/asm/naked-invalid-attr.rs
@@ -1,25 +1,25 @@
 // Checks that the #[unsafe(naked)] attribute can be placed on function definitions only.
 //
 //@ needs-asm-support
-#![unsafe(naked)] //~ ERROR should be applied to a function definition
+#![unsafe(naked)] //~ ERROR attribute cannot be used on
 
 use std::arch::naked_asm;
 
 extern "C" {
-    #[unsafe(naked)] //~ ERROR should be applied to a function definition
+    #[unsafe(naked)] //~ ERROR attribute cannot be used on
     fn f();
 }
 
-#[unsafe(naked)] //~ ERROR should be applied to a function definition
+#[unsafe(naked)] //~ ERROR attribute cannot be used on
 #[repr(C)]
 struct S {
-    #[unsafe(naked)] //~ ERROR should be applied to a function definition
+    #[unsafe(naked)] //~ ERROR attribute cannot be used on
     a: u32,
     b: u32,
 }
 
 trait Invoke {
-    #[unsafe(naked)] //~ ERROR should be applied to a function definition
+    #[unsafe(naked)] //~ ERROR attribute cannot be used on
     extern "C" fn invoke(&self);
 }
 
@@ -48,7 +48,7 @@ impl S {
 }
 
 fn main() {
-    #[unsafe(naked)] //~ ERROR should be applied to a function definition
+    #[unsafe(naked)] //~ ERROR attribute cannot be used on
     || {};
 }
 
diff --git a/tests/ui/asm/naked-invalid-attr.stderr b/tests/ui/asm/naked-invalid-attr.stderr
index 2571c8fa989..936a36cd92e 100644
--- a/tests/ui/asm/naked-invalid-attr.stderr
+++ b/tests/ui/asm/naked-invalid-attr.stderr
@@ -4,65 +4,62 @@ error[E0433]: failed to resolve: use of unresolved module or unlinked crate `a`
 LL | #[::a]
    |     ^ use of unresolved module or unlinked crate `a`
 
-error[E0736]: attribute incompatible with `#[unsafe(naked)]`
-  --> $DIR/naked-invalid-attr.rs:56:3
+error: `#[naked]` attribute cannot be used on crates
+  --> $DIR/naked-invalid-attr.rs:4:1
    |
-LL | #[::a]
-   |   ^^^ the `::a` attribute is incompatible with `#[unsafe(naked)]`
-...
-LL | #[unsafe(naked)]
-   | ---------------- function marked with `#[unsafe(naked)]` here
-
-error: attribute should be applied to a function definition
-  --> $DIR/naked-invalid-attr.rs:13:1
+LL | #![unsafe(naked)]
+   | ^^^^^^^^^^^^^^^^^
    |
-LL |   #[unsafe(naked)]
-   |   ^^^^^^^^^^^^^^^^
-LL |   #[repr(C)]
-LL | / struct S {
-LL | |     #[unsafe(naked)]
-LL | |     a: u32,
-LL | |     b: u32,
-LL | | }
-   | |_- not a function definition
+   = help: `#[naked]` can only be applied to functions
 
-error: attribute should be applied to a function definition
-  --> $DIR/naked-invalid-attr.rs:16:5
+error: `#[naked]` attribute cannot be used on foreign functions
+  --> $DIR/naked-invalid-attr.rs:9:5
    |
 LL |     #[unsafe(naked)]
    |     ^^^^^^^^^^^^^^^^
-LL |     a: u32,
-   |     ------ not a function definition
+   |
+   = help: `#[naked]` can be applied to methods, functions
 
-error: attribute should be applied to a function definition
-  --> $DIR/naked-invalid-attr.rs:51:5
+error: `#[naked]` attribute cannot be used on structs
+  --> $DIR/naked-invalid-attr.rs:13:1
+   |
+LL | #[unsafe(naked)]
+   | ^^^^^^^^^^^^^^^^
+   |
+   = help: `#[naked]` can only be applied to functions
+
+error: `#[naked]` attribute cannot be used on struct fields
+  --> $DIR/naked-invalid-attr.rs:16:5
    |
 LL |     #[unsafe(naked)]
    |     ^^^^^^^^^^^^^^^^
-LL |     || {};
-   |     ----- not a function definition
+   |
+   = help: `#[naked]` can only be applied to functions
 
-error: attribute should be applied to a function definition
+error: `#[naked]` attribute cannot be used on required trait methods
   --> $DIR/naked-invalid-attr.rs:22:5
    |
 LL |     #[unsafe(naked)]
    |     ^^^^^^^^^^^^^^^^
-LL |     extern "C" fn invoke(&self);
-   |     ---------------------------- not a function definition
+   |
+   = help: `#[naked]` can be applied to functions, inherent methods, provided trait methods, trait methods in impl blocks
 
-error: attribute should be applied to a function definition
-  --> $DIR/naked-invalid-attr.rs:9:5
+error: `#[naked]` attribute cannot be used on closures
+  --> $DIR/naked-invalid-attr.rs:51:5
    |
 LL |     #[unsafe(naked)]
    |     ^^^^^^^^^^^^^^^^
-LL |     fn f();
-   |     ------- not a function definition
+   |
+   = help: `#[naked]` can be applied to methods, functions
 
-error: attribute should be applied to a function definition
-  --> $DIR/naked-invalid-attr.rs:4:1
+error[E0736]: attribute incompatible with `#[unsafe(naked)]`
+  --> $DIR/naked-invalid-attr.rs:56:3
    |
-LL | #![unsafe(naked)]
-   | ^^^^^^^^^^^^^^^^^ cannot be applied to crates
+LL | #[::a]
+   |   ^^^ the `::a` attribute is incompatible with `#[unsafe(naked)]`
+...
+LL | #[unsafe(naked)]
+   | ---------------- function marked with `#[unsafe(naked)]` here
 
 error: aborting due to 8 previous errors