Error code E0116

An inherent implementation was defined for a type outside the current crate.

Erroneous code example:

impl Vec<u8> { } // error
Run

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 above is not allowed since Vec is defined in the standard library.

To fix this problem, you can either:

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
Run

Back to list of error codes