error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:53:35
   |
LL |     let _: &dyn std::fmt::Debug = baz;
   |            --------------------   ^^^ expected trait `Debug`, found trait `Baz`
   |            |
   |            expected due to this
   |
   = note: expected reference `&dyn Debug`
              found reference `&dyn Baz`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:55:24
   |
LL |     let _: &dyn Send = baz;
   |            ---------   ^^^ expected trait `Send`, found trait `Baz`
   |            |
   |            expected due to this
   |
   = note: expected reference `&dyn Send`
              found reference `&dyn Baz`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:57:24
   |
LL |     let _: &dyn Sync = baz;
   |            ---------   ^^^ expected trait `Sync`, found trait `Baz`
   |            |
   |            expected due to this
   |
   = note: expected reference `&dyn Sync`
              found reference `&dyn Baz`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:60:25
   |
LL |     let bar: &dyn Bar = baz;
   |              --------   ^^^ expected trait `Bar`, found trait `Baz`
   |              |
   |              expected due to this
   |
   = note: expected reference `&dyn Bar`
              found reference `&dyn Baz`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:62:35
   |
LL |     let _: &dyn std::fmt::Debug = bar;
   |            --------------------   ^^^ expected trait `Debug`, found trait `Bar`
   |            |
   |            expected due to this
   |
   = note: expected reference `&dyn Debug`
              found reference `&dyn Bar`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:64:24
   |
LL |     let _: &dyn Send = bar;
   |            ---------   ^^^ expected trait `Send`, found trait `Bar`
   |            |
   |            expected due to this
   |
   = note: expected reference `&dyn Send`
              found reference `&dyn Bar`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:66:24
   |
LL |     let _: &dyn Sync = bar;
   |            ---------   ^^^ expected trait `Sync`, found trait `Bar`
   |            |
   |            expected due to this
   |
   = note: expected reference `&dyn Sync`
              found reference `&dyn Bar`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:69:25
   |
LL |     let foo: &dyn Foo = baz;
   |              --------   ^^^ expected trait `Foo`, found trait `Baz`
   |              |
   |              expected due to this
   |
   = note: expected reference `&dyn Foo`
              found reference `&dyn Baz`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:71:35
   |
LL |     let _: &dyn std::fmt::Debug = foo;
   |            --------------------   ^^^ expected trait `Debug`, found trait `Foo`
   |            |
   |            expected due to this
   |
   = note: expected reference `&dyn Debug`
              found reference `&dyn Foo`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:73:24
   |
LL |     let _: &dyn Send = foo;
   |            ---------   ^^^ expected trait `Send`, found trait `Foo`
   |            |
   |            expected due to this
   |
   = note: expected reference `&dyn Send`
              found reference `&dyn Foo`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:75:24
   |
LL |     let _: &dyn Sync = foo;
   |            ---------   ^^^ expected trait `Sync`, found trait `Foo`
   |            |
   |            expected due to this
   |
   = note: expected reference `&dyn Sync`
              found reference `&dyn Foo`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:78:25
   |
LL |     let foo: &dyn Foo = bar;
   |              --------   ^^^ expected trait `Foo`, found trait `Bar`
   |              |
   |              expected due to this
   |
   = note: expected reference `&dyn Foo`
              found reference `&dyn Bar`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:80:35
   |
LL |     let _: &dyn std::fmt::Debug = foo;
   |            --------------------   ^^^ expected trait `Debug`, found trait `Foo`
   |            |
   |            expected due to this
   |
   = note: expected reference `&dyn Debug`
              found reference `&dyn Foo`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:82:24
   |
LL |     let _: &dyn Send = foo;
   |            ---------   ^^^ expected trait `Send`, found trait `Foo`
   |            |
   |            expected due to this
   |
   = note: expected reference `&dyn Send`
              found reference `&dyn Foo`

error[E0308]: mismatched types
  --> $DIR/invalid-upcast.rs:84:24
   |
LL |     let _: &dyn Sync = foo;
   |            ---------   ^^^ expected trait `Sync`, found trait `Foo`
   |            |
   |            expected due to this
   |
   = note: expected reference `&dyn Sync`
              found reference `&dyn Foo`

error: aborting due to 15 previous errors

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