error[E0275]: overflow evaluating the requirement `<T as Foo>::Assoc == _`
  --> $DIR/recursive-self-normalization.rs:11:17
   |
LL |     needs_bar::<T::Assoc>();
   |                 ^^^^^^^^

error[E0275]: overflow evaluating the requirement `<T as Foo>::Assoc: Bar`
  --> $DIR/recursive-self-normalization.rs:11:17
   |
LL |     needs_bar::<T::Assoc>();
   |                 ^^^^^^^^
   |
note: required by a bound in `needs_bar`
  --> $DIR/recursive-self-normalization.rs:8:17
   |
LL | fn needs_bar<S: Bar>() {}
   |                 ^^^ required by this bound in `needs_bar`

error[E0275]: overflow evaluating the requirement `<T as Foo>::Assoc: Sized`
  --> $DIR/recursive-self-normalization.rs:11:17
   |
LL |     needs_bar::<T::Assoc>();
   |                 ^^^^^^^^
   |
note: required by an implicit `Sized` bound in `needs_bar`
  --> $DIR/recursive-self-normalization.rs:8:14
   |
LL | fn needs_bar<S: Bar>() {}
   |              ^ required by the implicit `Sized` requirement on this type parameter in `needs_bar`
help: consider relaxing the implicit `Sized` restriction
   |
LL | fn needs_bar<S: Bar + ?Sized>() {}
   |                     ++++++++

error[E0275]: overflow evaluating the requirement `<T as Foo>::Assoc == _`
  --> $DIR/recursive-self-normalization.rs:11:5
   |
LL |     needs_bar::<T::Assoc>();
   |     ^^^^^^^^^^^^^^^^^^^^^

error[E0275]: overflow evaluating the requirement `<T as Foo>::Assoc == _`
  --> $DIR/recursive-self-normalization.rs:11:5
   |
LL |     needs_bar::<T::Assoc>();
   |     ^^^^^^^^^^^^^^^^^^^^^
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error[E0275]: overflow evaluating the requirement `<T as Foo>::Assoc == _`
  --> $DIR/recursive-self-normalization.rs:11:17
   |
LL |     needs_bar::<T::Assoc>();
   |                 ^^^^^^^^
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: aborting due to 6 previous errors

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