Error code E0205
Note: this error code is no longer emitted by the compiler.
An attempt to implement the Copy
trait for an enum failed because one of the
variants does not implement Copy
. To fix this, you must implement Copy
for
the mentioned variant. Note that this may not be possible, as in the example of
#![allow(unused)] fn main() { enum Foo { Bar(Vec<u32>), Baz, } impl Copy for Foo { } }
This fails because Vec<T>
does not implement Copy
for any T
.
Here's another example that will fail:
#![allow(unused)] fn main() { #[derive(Copy)] enum Foo<'a> { Bar(&'a mut bool), Baz, } }
This fails because &mut T
is not Copy
, even when T
is Copy
(this
differs from the behavior for &T
, which is always Copy
).