Open
Description
trait Trait {}
struct W<T>(T);
impl<T, U> Trait for W<(W<T>, W<U>)>
where
W<T>: Trait,
W<U>: Trait,
{}
fn impls<T: Trait>() {}
fn main() {
impls::<W<_>>()
}
this program results in a hang in both rustc (fulfill) and in r-a (causing my PC to freeze).
if we prove this using a breadth first approach we try to prove O(2^recursion_limit)
goals