// A variant of traits-issue-23003 in which an infinite series of // types are required. This test now just compiles fine, since the // relevant rules that triggered the overflow were removed. //@ check-pass #![allow(dead_code)] use std::marker::PhantomData; trait Async { type Cancel; } struct Receipt { marker: PhantomData, } struct Complete { core: Option, } impl Async for Complete { type Cancel = Receipt>>; } fn foo(_: Receipt>) { } fn main() { }