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.