about summary refs log tree commit diff
path: root/src/test/ui/consts
diff options
context:
space:
mode:
authorMichael Howell <michael@notriddle.com>2022-04-02 09:57:04 -0700
committerMichael Howell <michael@notriddle.com>2022-04-02 09:57:04 -0700
commit7620a5f52a238cbafdfcaa50edcc1acb6a0a3244 (patch)
treea16f6c3570fad624baf301afc45e7c0ca6cd3fe4 /src/test/ui/consts
parentfbc45b650a9c517ca87b0af8f108efbf50689299 (diff)
downloadrust-7620a5f52a238cbafdfcaa50edcc1acb6a0a3244.tar.gz
rust-7620a5f52a238cbafdfcaa50edcc1acb6a0a3244.zip
diagnostics: add test case for bogus T:Sized suggestion
Closes #69228
Diffstat (limited to 'src/test/ui/consts')
-rw-r--r--src/test/ui/consts/const-eval/size-of-t.rs13
-rw-r--r--src/test/ui/consts/const-eval/size-of-t.stderr11
2 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/consts/const-eval/size-of-t.rs b/src/test/ui/consts/const-eval/size-of-t.rs
new file mode 100644
index 00000000000..efbdeec7008
--- /dev/null
+++ b/src/test/ui/consts/const-eval/size-of-t.rs
@@ -0,0 +1,13 @@
+// https://github.com/rust-lang/rust/issues/69228
+// Used to give bogus suggestion about T not being Sized.
+
+use std::mem::size_of;
+
+fn foo<T>() {
+    let _arr: [u8; size_of::<T>()];
+    //~^ ERROR generic parameters may not be used in const operations
+    //~| NOTE cannot perform const operation
+    //~| NOTE type parameters may not be used in const expressions
+}
+
+fn main() {}
diff --git a/src/test/ui/consts/const-eval/size-of-t.stderr b/src/test/ui/consts/const-eval/size-of-t.stderr
new file mode 100644
index 00000000000..abe6410465e
--- /dev/null
+++ b/src/test/ui/consts/const-eval/size-of-t.stderr
@@ -0,0 +1,11 @@
+error: generic parameters may not be used in const operations
+  --> $DIR/size-of-t.rs:7:30
+   |
+LL |     let _arr: [u8; size_of::<T>()];
+   |                              ^ cannot perform const operation using `T`
+   |
+   = note: type parameters may not be used in const expressions
+   = help: use `#![feature(generic_const_exprs)]` to allow generic const expressions
+
+error: aborting due to previous error
+