diff options
Diffstat (limited to 'src/test/ui/generic-associated-types/issue-87750.rs')
-rw-r--r-- | src/test/ui/generic-associated-types/issue-87750.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/ui/generic-associated-types/issue-87750.rs b/src/test/ui/generic-associated-types/issue-87750.rs new file mode 100644 index 000000000..89bd79ac2 --- /dev/null +++ b/src/test/ui/generic-associated-types/issue-87750.rs @@ -0,0 +1,22 @@ +#![feature(generic_associated_types)] + +trait PointerFamily { + type Pointer<T>; +} + +struct Rc<T>(Box<T>); +struct RcFamily; + +impl PointerFamily for RcFamily { + type Pointer<T> = Rc<T>; +} + +#[allow(dead_code)] +enum Node<T, P: PointerFamily> where P::Pointer<Node<T, P>>: Sized { + Cons(P::Pointer<Node<T, P>>), +} + +fn main() { + let _list: <RcFamily as PointerFamily>::Pointer<Node<i32, RcFamily>>; + //~^ ERROR overflow evaluating the requirement `Node<i32, RcFamily>: Sized` +} |