error[E0308]: mismatched types
  --> $DIR/dst-bad-coerce1.rs:16:29
   |
LL |     let f3: &Fat<[usize]> = f2;
   |             -------------   ^^ expected slice `[usize]`, found array `[isize; 3]`
   |             |
   |             expected due to this
   |
   = note: expected reference `&Fat<[usize]>`
              found reference `&Fat<[isize; 3]>`

error[E0277]: the trait bound `Foo: Bar` is not satisfied
  --> $DIR/dst-bad-coerce1.rs:22:29
   |
LL |     let f3: &Fat<dyn Bar> = f2;
   |                             ^^ the trait `Bar` is not implemented for `Foo`
   |
   = note: required for the cast to the object type `dyn Bar`

error[E0308]: mismatched types
  --> $DIR/dst-bad-coerce1.rs:28:27
   |
LL |     let f3: &([usize],) = f2;
   |             -----------   ^^ expected slice `[usize]`, found array `[isize; 3]`
   |             |
   |             expected due to this
   |
   = note: expected reference `&([usize],)`
              found reference `&([isize; 3],)`

error[E0277]: the trait bound `Foo: Bar` is not satisfied
  --> $DIR/dst-bad-coerce1.rs:34:27
   |
LL |     let f3: &(dyn Bar,) = f2;
   |                           ^^ the trait `Bar` is not implemented for `Foo`
   |
   = note: required for the cast to the object type `dyn Bar`

error: aborting due to 4 previous errors

Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
