about summary refs log tree commit diff
path: root/src/test/ui/const-generics/invariant.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/const-generics/invariant.rs')
-rw-r--r--src/test/ui/const-generics/invariant.rs34
1 files changed, 0 insertions, 34 deletions
diff --git a/src/test/ui/const-generics/invariant.rs b/src/test/ui/const-generics/invariant.rs
deleted file mode 100644
index 39d658be67d..00000000000
--- a/src/test/ui/const-generics/invariant.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-#![feature(generic_const_exprs)]
-#![allow(incomplete_features)]
-use std::marker::PhantomData;
-
-trait SadBee {
-    const ASSOC: usize;
-}
-// fn(&'static ())` is a supertype of `for<'a> fn(&'a ())` while
-// we allow two different impls for these types, leading
-// to different const eval results.
-impl SadBee for for<'a> fn(&'a ()) {
-    const ASSOC: usize = 0;
-}
-impl SadBee for fn(&'static ()) {
-    //~^ WARNING conflicting implementations of trait
-    //~| WARNING this was previously accepted
-    const ASSOC: usize = 100;
-}
-
-struct Foo<T: SadBee>([u8; <T as SadBee>::ASSOC], PhantomData<T>)
-where
-    [(); <T as SadBee>::ASSOC]: ;
-
-fn covariant(
-    v: &'static Foo<for<'a> fn(&'a ())>
-) -> &'static Foo<fn(&'static ())> {
-    v
-    //~^ ERROR mismatched types
-}
-
-fn main() {
-    let y = covariant(&Foo([], PhantomData));
-    println!("{:?}", y.0);
-}