CoerceUnsized or DispatchFromDyn was implemented between two types that are not structs.
Erroneous code example:
#![feature(coerce_unsized)] 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.