about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorTakayuki Maeda <takoyaki0316@gmail.com>2022-07-07 11:33:56 +0900
committerTakayuki Maeda <takoyaki0316@gmail.com>2022-07-07 11:33:56 +0900
commit2a0e659dfd6fba0fd49b4596a57c62ffef515baa (patch)
tree330bcdf0e0f585cdc713374ddc52d7731c986a13 /src
parent5b8cf49c51833ee5d27ae2e8e179337dbb9f14d7 (diff)
downloadrust-2a0e659dfd6fba0fd49b4596a57c62ffef515baa.tar.gz
rust-2a0e659dfd6fba0fd49b4596a57c62ffef515baa.zip
add a test for #80471
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/const-generics/issue-80471.rs13
-rw-r--r--src/test/ui/const-generics/issue-80471.stderr18
2 files changed, 31 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/issue-80471.rs b/src/test/ui/const-generics/issue-80471.rs
new file mode 100644
index 00000000000..d0af8a5eaa8
--- /dev/null
+++ b/src/test/ui/const-generics/issue-80471.rs
@@ -0,0 +1,13 @@
+#![feature(adt_const_params)]
+//~^ WARN the feature `adt_const_params` is incomplete and may not be safe to use and/or cause compiler crashes [incomplete_features]
+
+#[derive(PartialEq, Eq)]
+enum Nat {
+    Z,
+    S(Box<Nat>),
+}
+
+fn foo<const N: Nat>() {}
+//~^ ERROR `Box<Nat>` must be annotated with `#[derive(PartialEq, Eq)]` to be used as the type of a const parameter
+
+fn main() {}
diff --git a/src/test/ui/const-generics/issue-80471.stderr b/src/test/ui/const-generics/issue-80471.stderr
new file mode 100644
index 00000000000..dbcc0b7b600
--- /dev/null
+++ b/src/test/ui/const-generics/issue-80471.stderr
@@ -0,0 +1,18 @@
+warning: the feature `adt_const_params` is incomplete and may not be safe to use and/or cause compiler crashes
+  --> $DIR/issue-80471.rs:1:12
+   |
+LL | #![feature(adt_const_params)]
+   |            ^^^^^^^^^^^^^^^^
+   |
+   = note: `#[warn(incomplete_features)]` on by default
+   = note: see issue #95174 <https://github.com/rust-lang/rust/issues/95174> for more information
+
+error[E0741]: `Box<Nat>` must be annotated with `#[derive(PartialEq, Eq)]` to be used as the type of a const parameter
+  --> $DIR/issue-80471.rs:10:17
+   |
+LL | fn foo<const N: Nat>() {}
+   |                 ^^^
+
+error: aborting due to previous error; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0741`.