summaryrefslogtreecommitdiffstats
path: root/src/test/ui/const-generics/issues/issue-90318.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/const-generics/issues/issue-90318.rs')
-rw-r--r--src/test/ui/const-generics/issues/issue-90318.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/issues/issue-90318.rs b/src/test/ui/const-generics/issues/issue-90318.rs
new file mode 100644
index 000000000..d6c48e63b
--- /dev/null
+++ b/src/test/ui/const-generics/issues/issue-90318.rs
@@ -0,0 +1,30 @@
+#![feature(const_type_id)]
+#![feature(generic_const_exprs)]
+#![feature(core_intrinsics)]
+#![allow(incomplete_features)]
+
+use std::any::TypeId;
+
+struct If<const B: bool>;
+pub trait True {}
+impl True for If<true> {}
+
+fn consume<T: 'static>(_val: T)
+where
+ If<{ TypeId::of::<T>() != TypeId::of::<()>() }>: True,
+ //~^ ERROR: can't compare
+{
+}
+
+fn test<T: 'static>()
+where
+ If<{ TypeId::of::<T>() != TypeId::of::<()>() }>: True,
+ //~^ ERROR: can't compare
+{
+}
+
+fn main() {
+ let a = ();
+ consume(0i32);
+ consume(a);
+}