// normalize-stderr-test: "long-type-\d+" -> "long-type-hash" trait Foo { fn answer(self); } struct NoData; //~^ ERROR: parameter `T` is never used impl Foo for T where NoData: Foo { //~^ ERROR: overflow evaluating the requirement fn answer(self) { let val: NoData = NoData; } } trait Bar { fn answer(self); } trait Baz { fn answer(self); } struct AlmostNoData(Option); struct EvenLessData(Option); impl Bar for T where EvenLessData: Baz { //~^ ERROR: overflow evaluating the requirement fn answer(self) { let val: EvenLessData = EvenLessData(None); } } impl Baz for T where AlmostNoData: Bar { //~^ ERROR: overflow evaluating the requirement fn answer(self) { let val: NoData = AlmostNoData(None); } } fn main() {}