error[E0412]: cannot find type `Color` in this scope --> $DIR/trait-selection-ice-84727.rs:5:17 | LL | foreground: Color, | ^^^^^ not found in this scope error[E0412]: cannot find type `Color` in this scope --> $DIR/trait-selection-ice-84727.rs:7:17 | LL | background: Color, | ^^^^^ not found in this scope error[E0412]: cannot find type `Color` in this scope --> $DIR/trait-selection-ice-84727.rs:18:16 | LL | Self: Over, Cell>, | ^^^^^ not found in this scope error[E0412]: cannot find type `NewBg` in this scope --> $DIR/trait-selection-ice-84727.rs:32:27 | LL | fn over(self) -> Cell { | ^^^^^ not found in this scope | help: you might be missing a type parameter | LL | impl<'b, TopFg, TopBg, BottomFg, BottomBg, NewBg> Over<&Cell, ()> | +++++++ error[E0308]: mismatched types --> $DIR/trait-selection-ice-84727.rs:21:22 | LL | fn over(self) -> Cell { | ---- ^^^^^^^^^^^ expected `Cell`, found `()` | | | implicitly returns `()` as its body has no tail or `return` expression LL | LL | self.over(); | - help: remove this semicolon to return this value | = note: expected struct `Cell` found unit type `()` error: aborting due to 5 previous errors Some errors have detailed explanations: E0308, E0412. For more information about an error, try `rustc --explain E0308`.