1 // run-pass
2 #![allow(unused_variables)]
3 // Regression test for #21212: an overflow occurred during trait
4 // checking where normalizing `Self::Input` led to normalizing the
5 // where clauses in the environment which in turn required normalizing
6 // `Self::Input`.
7 
8 
9 pub trait Parser {
10     type Input;
11 
parse(input: <Self as Parser>::Input)12     fn parse(input: <Self as Parser>::Input) {
13         panic!()
14     }
15 }
16 
17 impl <P> Parser for P {
18     type Input = ();
19 }
20 
main()21 fn main() {
22 }
23