about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEllen <supbscripter@gmail.com>2021-02-13 18:27:39 +0000
committerEllen <supbscripter@gmail.com>2021-02-13 19:10:08 +0000
commita419e112dbb0fc4e3e48414a307bbd92c727e0c5 (patch)
treee407535b155e7bbf335b771ba006fde6743dc437
parentb6144e7a20a3ff9d5ba03ec22ec2323772683f5b (diff)
downloadrust-a419e112dbb0fc4e3e48414a307bbd92c727e0c5.tar.gz
rust-a419e112dbb0fc4e3e48414a307bbd92c727e0c5.zip
a wild test has appeared uwu
-rw-r--r--src/test/ui/const-generics/issue-80561-incorrect-param-env.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/issue-80561-incorrect-param-env.rs b/src/test/ui/const-generics/issue-80561-incorrect-param-env.rs
new file mode 100644
index 00000000000..a34d74b29e9
--- /dev/null
+++ b/src/test/ui/const-generics/issue-80561-incorrect-param-env.rs
@@ -0,0 +1,24 @@
+// check-pass
+#![feature(const_generics, const_evaluatable_checked)]
+#![allow(incomplete_features)]
+
+// This tests that the correct `param_env` is used so that
+// attempting to normalize `Self::N` does not cause an ICE.
+
+pub struct Foo<const N: usize>;
+
+impl<const N: usize> Foo<N> {
+    pub fn foo() {}
+}
+
+pub trait Bar {
+    const N: usize;
+    fn bar()
+    where
+        [(); Self::N]: ,
+    {
+        Foo::<{ Self::N }>::foo();
+    }
+}
+
+fn main() {}