about summary refs log tree commit diff
path: root/tests/ui
diff options
context:
space:
mode:
authorNicholas Nethercote <n.nethercote@gmail.com>2024-02-15 08:31:46 +1100
committerNicholas Nethercote <n.nethercote@gmail.com>2024-02-15 09:26:45 +1100
commit64a9c9cfea7f454bcc48852f0e1b99074d615ddc (patch)
tree8c2f44ceb0685b581f773b74091c71b3799fc75f /tests/ui
parent502ce8287bc3c86dca07acc38c5ff9431a6097be (diff)
downloadrust-64a9c9cfea7f454bcc48852f0e1b99074d615ddc.tar.gz
rust-64a9c9cfea7f454bcc48852f0e1b99074d615ddc.zip
Reinstate some delayed bugs.
These were changed to `has_errors` assertions in #121071 because that
seemed reasonable, but evidently not.

Fixes #121103.
Fixes #121108.
Diffstat (limited to 'tests/ui')
-rw-r--r--tests/ui/lowering/issue-121108.rs9
-rw-r--r--tests/ui/lowering/issue-121108.stderr25
-rw-r--r--tests/ui/mir/issue-121103.rs3
-rw-r--r--tests/ui/mir/issue-121103.stderr15
4 files changed, 52 insertions, 0 deletions
diff --git a/tests/ui/lowering/issue-121108.rs b/tests/ui/lowering/issue-121108.rs
new file mode 100644
index 00000000000..6b2dd24e4a8
--- /dev/null
+++ b/tests/ui/lowering/issue-121108.rs
@@ -0,0 +1,9 @@
+#![derive(Clone, Copy)] //~ ERROR `derive` attribute cannot be used at crate level
+
+use std::ptr::addr_of;
+
+const UNINHABITED_VARIANT: () = unsafe {
+    let v = *addr_of!(data).cast(); //~ ERROR cannot determine resolution for the macro `addr_of`
+};
+
+fn main() {}
diff --git a/tests/ui/lowering/issue-121108.stderr b/tests/ui/lowering/issue-121108.stderr
new file mode 100644
index 00000000000..c2c5746d6f1
--- /dev/null
+++ b/tests/ui/lowering/issue-121108.stderr
@@ -0,0 +1,25 @@
+error: `derive` attribute cannot be used at crate level
+  --> $DIR/issue-121108.rs:1:1
+   |
+LL | #![derive(Clone, Copy)]
+   | ^^^^^^^^^^^^^^^^^^^^^^^
+LL |
+LL | use std::ptr::addr_of;
+   |               ------- the inner attribute doesn't annotate this `use` import
+   |
+help: perhaps you meant to use an outer attribute
+   |
+LL - #![derive(Clone, Copy)]
+LL + #[derive(Clone, Copy)]
+   |
+
+error: cannot determine resolution for the macro `addr_of`
+  --> $DIR/issue-121108.rs:6:14
+   |
+LL |     let v = *addr_of!(data).cast();
+   |              ^^^^^^^
+   |
+   = note: import resolution is stuck, try simplifying macro imports
+
+error: aborting due to 2 previous errors
+
diff --git a/tests/ui/mir/issue-121103.rs b/tests/ui/mir/issue-121103.rs
new file mode 100644
index 00000000000..e06361a6964
--- /dev/null
+++ b/tests/ui/mir/issue-121103.rs
@@ -0,0 +1,3 @@
+fn main(_: <lib2::GenericType<42> as lib2::TypeFn>::Output) {}
+//~^ ERROR failed to resolve: use of undeclared crate or module `lib2`
+//~| ERROR failed to resolve: use of undeclared crate or module `lib2`
diff --git a/tests/ui/mir/issue-121103.stderr b/tests/ui/mir/issue-121103.stderr
new file mode 100644
index 00000000000..913eee9e0c5
--- /dev/null
+++ b/tests/ui/mir/issue-121103.stderr
@@ -0,0 +1,15 @@
+error[E0433]: failed to resolve: use of undeclared crate or module `lib2`
+  --> $DIR/issue-121103.rs:1:38
+   |
+LL | fn main(_: <lib2::GenericType<42> as lib2::TypeFn>::Output) {}
+   |                                      ^^^^ use of undeclared crate or module `lib2`
+
+error[E0433]: failed to resolve: use of undeclared crate or module `lib2`
+  --> $DIR/issue-121103.rs:1:13
+   |
+LL | fn main(_: <lib2::GenericType<42> as lib2::TypeFn>::Output) {}
+   |             ^^^^ use of undeclared crate or module `lib2`
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0433`.