error[E0277]: the trait bound `Self: Eq` is not satisfied
  --> $DIR/wf-trait-default-fn-ret.rs:11:22
   |
LL |     fn bar(&self) -> Bar<Self> {
   |                      ^^^^^^^^^ the trait `Eq` is not implemented for `Self`
   |
note: required by a bound in `Bar`
  --> $DIR/wf-trait-default-fn-ret.rs:8:14
   |
LL | struct Bar<T:Eq+?Sized> { value: Box<T> }
   |              ^^ required by this bound in `Bar`
help: consider further restricting `Self`
   |
LL |     fn bar(&self) -> Bar<Self> where Self: Eq {
   |                                ++++++++++++++

error: aborting due to previous error

For more information about this error, try `rustc --explain E0277`.