//@ check-pass //@ pretty-expanded FIXME #23616 trait Bound { fn dummy(&self) { } } trait Trait { fn a(&self, _: T) where T: Bound; fn b(&self, _: T) where T: Bound; fn c(&self, _: T); fn d(&self, _: T); } impl Trait for bool { fn a(&self, _: T) {} fn b(&self, _: T) where T: Bound {} fn c(&self, _: T) {} fn d(&self, _: T) where T: Bound {} } fn main() {}