diff options
Diffstat (limited to 'src/test/ui/associated-types/associated-types-projection-in-supertrait.rs')
-rw-r--r-- | src/test/ui/associated-types/associated-types-projection-in-supertrait.rs | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/src/test/ui/associated-types/associated-types-projection-in-supertrait.rs b/src/test/ui/associated-types/associated-types-projection-in-supertrait.rs deleted file mode 100644 index ead405fcf..000000000 --- a/src/test/ui/associated-types/associated-types-projection-in-supertrait.rs +++ /dev/null @@ -1,45 +0,0 @@ -// run-pass -#![allow(dead_code)] -// Test that we are handle to correctly handle a projection type -// that appears in a supertrait bound. Issue #20559. - - -trait A -{ - type TA; - - fn dummy(&self) { } -} - -trait B<TB> -{ - fn foo (&self, t : TB) -> String; -} - -trait C<TC : A> : B<<TC as A>::TA> { } - -struct X; - -impl A for X -{ - type TA = i32; -} - -struct Y; - -impl C<X> for Y { } - -// Both of these impls are required for successful compilation -impl B<i32> for Y -{ - fn foo (&self, t : i32) -> String - { - format!("First {}", t) - } -} - -fn main () -{ - let y = Y; - assert_eq!(y.foo(5), format!("First 5")); -} |