trait Trait {} impl Trait<(A, B)> for (A, B) where A: ?Sized, B: ?Sized, {} //~^ ERROR E0277 //~| ERROR E0277 impl Trait<(A, B, C)> for (A, B, C) where A: ?Sized, {} //~^ ERROR E0277 //~| ERROR E0277 //~| ERROR E0277 trait Trait2 {} impl Trait2<(A, B)> for (A, B) {} //~^ ERROR E0277 //~| ERROR E0277 trait Trait3 {} impl Trait3 for A where A: ?Sized {} //~^ ERROR E0277 trait Trait4 {} impl Trait4 for A {} //~^ ERROR E0277 trait Trait5 {} impl Trait5 for X where X: ?Sized {} //~^ ERROR E0277 trait Trait6 {} impl Trait6 for X {} //~^ ERROR E0277 trait Trait7 {} impl Trait7 for X where Y: ?Sized {} //~^ ERROR E0277 trait Trait8 {} impl Trait8 for X {} //~^ ERROR E0277 fn main() {}