about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorJonas Schievink <jonasschievink@gmail.com>2021-02-15 16:06:59 +0100
committerGitHub <noreply@github.com>2021-02-15 16:06:59 +0100
commit665bf9e35f470b856905beb8862bb30367b57435 (patch)
treeaa15386f57a286f42dc31afad46e4e152aeaa75e /src/test
parent7842b5d2ec42ce13291ae953bdf23a08916580e3 (diff)
parent7bd71262f889713c92f7d393346c8861851ba3d4 (diff)
Rollup merge of #82067 - BoxyUwU:hahaicantthinkofabadpun, r=oli-obk
const_generics: Fix incorrect ty::ParamEnv::empty() usage

Fixes #80561

Not sure if I should keep the `debug!(..)`s or not but its the second time I've needed them so they sure seem useful lol

cc ``@lcnr``
r? ``@oli-obk``
Diffstat (limited to 'src/test')
-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() {}