// ICE Where clause `Binder(..)` was applicable to `Obligation(..)` but now is not // issue: rust-lang/rust#84727 struct Cell { foreground: Color, //~^ ERROR cannot find type `Color` in this scope background: Color, //~^ ERROR cannot find type `Color` in this scope } trait Over { fn over(self) -> Output; } impl Over, Cell> for Cell where Self: Over, Cell>, //~^ ERROR cannot find type `Color` in this scope { fn over(self) -> Cell { //~^ ERROR mismatched types self.over(); } } impl<'b, TopFg, TopBg, BottomFg, BottomBg> Over<&Cell, ()> for Cell where Cell: Over, Cell>, { fn over(self) -> Cell { //~^ ERROR cannot find type `NewBg` in this scope self.over(); } } pub fn main() {}