fn dupes() {} //~^ ERROR duplicate relaxed `Sized` bounds //~| ERROR duplicate relaxed `Iterator` bounds //~| ERROR bound modifier `?` can only be applied to `Sized` //~| ERROR bound modifier `?` can only be applied to `Sized` trait Trait { // We used to say "type parameter has more than one relaxed default bound" // even on *associated types* like here. Test that we no longer do that. type Type: ?Sized + ?Sized; //~^ ERROR duplicate relaxed `Sized` bounds //~| ERROR duplicate relaxed `Sized` bounds } // We used to emit an additional error about "multiple relaxed default bounds". // However, multiple relaxed bounds are actually *fine* if they're distinct. // Ultimately, we still reject this because `Sized` is // the only (stable) default trait, so we're fine. fn not_dupes() {} //~^ ERROR bound modifier `?` can only be applied to `Sized` fn main() {}