| #### 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 |
| |
| ```compile_fail,E0204 |
| 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: |
| |
| ```compile_fail,E0204 |
| #[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`). |