summary refs log tree commit diff
path: root/tests/codegen
diff options
context:
space:
mode:
authorMatt Weber <30441572+mweber15@users.noreply.github.com>2022-11-16 21:31:30 -0500
committerMatt Weber <30441572+mweber15@users.noreply.github.com>2024-11-06 22:12:03 -0500
commitf3da8281853bce792a6a4220ccb432500b6b1da5 (patch)
treef007dc0b02ba0df7c61b12c874f7e71a2d6dc332 /tests/codegen
parent94669d9d47e3a594f4179a2aca9997fa1aeea7ad (diff)
downloadrust-f3da8281853bce792a6a4220ccb432500b6b1da5.tar.gz
rust-f3da8281853bce792a6a4220ccb432500b6b1da5.zip
Refactor `type_map::stub` parameters
Push span lookup into `type_map::stub` and pass the `DefId` instead of
doing the lookup outside and passing in the location metadata.
Diffstat (limited to 'tests/codegen')
-rw-r--r--tests/codegen/issue-98678.rs23
1 files changed, 21 insertions, 2 deletions
diff --git a/tests/codegen/issue-98678.rs b/tests/codegen/issue-98678.rs
index a6143117b9f..60283a9dd30 100644
--- a/tests/codegen/issue-98678.rs
+++ b/tests/codegen/issue-98678.rs
@@ -3,12 +3,31 @@
 // compile-flags: -C debuginfo=2
 #![crate_type = "lib"]
 
-// CHECK: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}src/test/codegen/issue-98678.rs{{".*}})
+// The use of CHECK-DAG here is because the C++-like enum is emitted before the `DIFile` node
+
+// CHECK-DAG: ![[#FILE:]] = !DIFile({{.*}}filename:{{.*}}src/test/codegen/issue-98678.rs{{".*}})
+
+// CHECK-DAG: !DICompositeType({{.*"}}MyCppLikeEnum{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 2]],
+#[repr(C)]
+pub enum MyCppLikeEnum {
+    One,
+}
 
 // CHECK: !DICompositeType({{.*"}}MyType{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 1]],
 pub struct MyType;
 
-pub fn foo(_: MyType) {
+// CHECK: !DICompositeType({{.*"}}MyUnion{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 1]],
+pub union MyUnion {
+    i: i32, // TODO fields are still wrong
+    f: f32,
+}
+
+// CHECK: !DICompositeType({{.*"}}MyNativeEnum{{".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 1]],
+pub enum MyNativeEnum {
+    One,
+}
+
+pub fn foo(_: MyType, _: MyUnion, _: MyNativeEnum, _: MyCppLikeEnum) {
     // CHECK: !DICompositeType({{.*"[{]}}closure_env#0{{[}]".*}}file: ![[#FILE]]{{.*}}line: [[# @LINE + 1]],
     let closure = |x| x;
     closure(0);