diff options
Diffstat (limited to 'src/test/ui/traits/issue-23003.rs')
-rw-r--r-- | src/test/ui/traits/issue-23003.rs | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/src/test/ui/traits/issue-23003.rs b/src/test/ui/traits/issue-23003.rs deleted file mode 100644 index 24c2b2ad6..000000000 --- a/src/test/ui/traits/issue-23003.rs +++ /dev/null @@ -1,32 +0,0 @@ -// run-pass -// Test stack overflow triggered by evaluating the implications. To be -// WF, the type `Receipt<Complete>` would require that `<Complete as -// Async>::Cancel` be WF. This normalizes to `Receipt<Complete>` -// again, leading to an infinite cycle. Issue #23003. - -// pretty-expanded FIXME #23616 - -#![allow(dead_code)] -#![allow(unused_variables)] - -use std::marker::PhantomData; - -trait Async { - type Cancel; -} - -struct Receipt<A:Async> { - marker: PhantomData<A>, -} - -struct Complete { - core: Option<()>, -} - -impl Async for Complete { - type Cancel = Receipt<Complete>; -} - -fn foo(r: Receipt<Complete>) { } - -fn main() { } |