// check-pass
#![allow(dead_code)]
trait DeclarationParser {
    type Declaration;
}

struct DeclarationListParser<'i, I, P>
    where P: DeclarationParser<Declaration = I>
{
    input: &'i (),
    parser: P
}

fn main() {}