warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
  --> $DIR/deafult-generic-associated-type-bound.rs:3:12
   |
LL | #![feature(specialization)]
   |            ^^^^^^^^^^^^^^
   |
   = note: `#[warn(incomplete_features)]` on by default
   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
   = help: consider using `min_specialization` instead, which is more stable and complete

error[E0277]: can't compare `T` with `T`
  --> $DIR/deafult-generic-associated-type-bound.rs:18:5
   |
LL |     default type U<'a> = &'a T;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `T == T`
   |
   = note: required because of the requirements on the impl of `PartialEq` for `&'a T`
note: required by a bound in `X::U`
  --> $DIR/deafult-generic-associated-type-bound.rs:8:17
   |
LL |     type U<'a>: PartialEq<&'a Self> where Self: 'a;
   |                 ^^^^^^^^^^^^^^^^^^^ required by this bound in `X::U`
help: consider further restricting this bound
   |
LL | impl<T: 'static + std::cmp::PartialEq> X for T {
   |                 +++++++++++++++++++++

error: aborting due to previous error; 1 warning emitted

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