summaryrefslogtreecommitdiffstats
path: root/src/test/ui/associated-types/defaults-cyclic-fail-1.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/associated-types/defaults-cyclic-fail-1.rs')
-rw-r--r--src/test/ui/associated-types/defaults-cyclic-fail-1.rs40
1 files changed, 0 insertions, 40 deletions
diff --git a/src/test/ui/associated-types/defaults-cyclic-fail-1.rs b/src/test/ui/associated-types/defaults-cyclic-fail-1.rs
deleted file mode 100644
index 61ef01323..000000000
--- a/src/test/ui/associated-types/defaults-cyclic-fail-1.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-#![feature(associated_type_defaults)]
-
-// Having a cycle in assoc. type defaults is okay...
-trait Tr {
- type A = Self::B;
- type B = Self::A;
-}
-
-impl Tr for () {}
-
-impl Tr for u8 {
- type A = u8;
-}
-
-impl Tr for u16 {
- type B = ();
-}
-
-impl Tr for u32 {
- type A = ();
- type B = u8;
-}
-
-// ...but not in an impl that redefines one of the types.
-impl Tr for bool {
- type A = Box<Self::B>;
- //~^ ERROR overflow evaluating the requirement `<bool as Tr>::B == _`
-}
-// (the error is shown twice for some reason)
-
-impl Tr for usize {
- type B = &'static Self::A;
- //~^ ERROR overflow evaluating the requirement `<usize as Tr>::A == _`
-}
-
-fn main() {
- // We don't check that the types project correctly because the cycle errors stop compilation
- // before `main` is type-checked.
- // `defaults-cyclic-pass-1.rs` does this.
-}