summaryrefslogtreecommitdiffstats
path: root/tests/codegen/align-fn.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:42 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:42 +0000
commit837b550238aa671a591ccf282dddeab29cadb206 (patch)
tree914b6b8862bace72bd3245ca184d374b08d8a672 /tests/codegen/align-fn.rs
parentAdding debian version 1.70.0+dfsg2-1. (diff)
downloadrustc-837b550238aa671a591ccf282dddeab29cadb206.tar.xz
rustc-837b550238aa671a591ccf282dddeab29cadb206.zip
Merging upstream version 1.71.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/codegen/align-fn.rs')
-rw-r--r--tests/codegen/align-fn.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/codegen/align-fn.rs b/tests/codegen/align-fn.rs
index c5886cf28..f3cf614e1 100644
--- a/tests/codegen/align-fn.rs
+++ b/tests/codegen/align-fn.rs
@@ -7,3 +7,43 @@
#[no_mangle]
#[repr(align(16))]
pub fn fn_align() {}
+
+pub struct A;
+
+impl A {
+ // CHECK: align 16
+ #[no_mangle]
+ #[repr(align(16))]
+ pub fn method_align(self) {}
+
+ // CHECK: align 16
+ #[no_mangle]
+ #[repr(align(16))]
+ pub fn associated_fn() {}
+}
+
+trait T: Sized {
+ fn trait_fn() {}
+
+ // CHECK: align 32
+ #[repr(align(32))]
+ fn trait_method(self) {}
+}
+
+impl T for A {
+ // CHECK: align 16
+ #[no_mangle]
+ #[repr(align(16))]
+ fn trait_fn() {}
+
+ // CHECK: align 16
+ #[no_mangle]
+ #[repr(align(16))]
+ fn trait_method(self) {}
+}
+
+impl T for () {}
+
+pub fn foo() {
+ ().trait_method();
+}