You can only define an inherent implementation for a type in the same crate where the type was defined. For example, an impl
block as below is not allowed since Vec
is defined in the standard library:
impl Vec<u8> { } // error
To fix this problem, you can do either of these things:
Note that using the type
keyword does not work here because type
only introduces a type alias:
type Bytes = Vec<u8>; impl Bytes { } // error, same as above