error: reached the type-length limit while instantiating `D::matches::$CLOSURE` --> $DIR/issue-22638.rs:53:5 | LL | / pub fn matches(&self, f: &F) { LL | | LL | | let &D(ref a) = self; LL | | a.matches(f) LL | | } | |_____^ | = note: consider adding a `#![type_length_limit="30408681"]` attribute to your crate error: aborting due to previous error