# Error code E0376

#### Note: this error code is no longer emitted by the compiler.

`CoerceUnsized` or `DispatchFromDyn` was implemented between two types that are not structs.

Erroneous code example:

    #![allow(unused)]
    #![feature(coerce_unsized)]
    fn main() {
    use std::ops::CoerceUnsized;

    struct Foo<T: ?Sized> {
        a: T,
    }

    // error: The type `U` is not a struct
    impl<T, U> CoerceUnsized<U> for Foo<T> {}
    }

`CoerceUnsized` or `DispatchFromDyn` can only be implemented between structs.