// check-pass #![allow(dead_code)] trait DeclarationParser { type Declaration; } struct DeclarationListParser<'i, I, P> where P: DeclarationParser { input: &'i (), parser: P } fn main() {}