2 // normalize-stderr-test: "<\[closure@.+`" -> "$$CLOSURE`"
3 // normalize-stderr-test: ".nll/" -> "/"
7 #![recursion_limit = "20"]
8 #![type_length_limit = "20000000"]
9 #![crate_type = "rlib"]
15 pub fn matches<F: Fn()>(&self, f: &F) {
16 let &A(ref term) = self;
28 pub fn matches<F: Fn()>(&self, f: &F) {
30 &B::Variant2(ref factor) => {
31 factor.matches(&|| ())
42 pub fn matches<F: Fn()>(&self, f: &F) {
43 let &C(ref base) = self;
45 C(base.clone()).matches(f)
54 pub fn matches<F: Fn()>(&self, f: &F) {
57 //~^ ERROR reached the recursion limit while instantiating `A::matches::<[closure
62 A(B::Variant1).matches(&(|| ()))