From 6590339c31ab934add15ec49bc474ba9d78435e2 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Mon, 20 Jan 2020 13:33:48 +0100 Subject: [PATCH] Clean up E0205 explanation --- src/librustc_error_codes/error_codes/E0206.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/librustc_error_codes/error_codes/E0206.md b/src/librustc_error_codes/error_codes/E0206.md index fc4c0e07a16bf..da53b671ad0cc 100644 --- a/src/librustc_error_codes/error_codes/E0206.md +++ b/src/librustc_error_codes/error_codes/E0206.md @@ -1,12 +1,18 @@ -You can only implement `Copy` for a struct or enum. Both of the following -examples will fail, because neither `[u8; 256]` nor `&'static mut Bar` -(mutable reference to `Bar`) is a struct or enum: +The `Copy` trait was implemented on a type which is neither a struct nor an +enum. + +Erroneous code example: ```compile_fail,E0206 type Foo = [u8; 256]; -impl Copy for Foo { } // error +impl Copy for Foo { } // error! #[derive(Copy, Clone)] struct Bar; -impl Copy for &'static mut Bar { } // error + +impl Copy for &'static mut Bar { } // error! ``` + +You can only implement `Copy` for a struct or an enum. Both of the previous +examples will fail, because neither `[u8; 256]` nor `&'static mut Bar` +(mutable reference to `Bar`) is a struct or enum.