diff options
| author | Tyler Mandry <tmandry@gmail.com> | 2020-01-17 17:28:23 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-17 17:28:23 -0800 |
| commit | 14d779c3f0c824ced78f7381c49074cc07c9d602 (patch) | |
| tree | 8903e14709f4326a22a1bde4654cc3253bc1f1aa | |
| parent | dd6a83875e4236966cb846236b243fd3ccaf56af (diff) | |
| parent | e8a4b9319cbf5b3f56b3cdd8ad11e86ff7168345 (diff) | |
| download | rust-14d779c3f0c824ced78f7381c49074cc07c9d602.tar.gz rust-14d779c3f0c824ced78f7381c49074cc07c9d602.zip | |
Rollup merge of #68317 - GuillaumeGomez:clean-up-e0199, r=Dylan-DPC
Clean up E0199 explanation r? @Dylan-DPC
| -rw-r--r-- | src/librustc_error_codes/error_codes/E0199.md | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/librustc_error_codes/error_codes/E0199.md b/src/librustc_error_codes/error_codes/E0199.md index d0c12dc6f17..88130e8e5e5 100644 --- a/src/librustc_error_codes/error_codes/E0199.md +++ b/src/librustc_error_codes/error_codes/E0199.md @@ -1,14 +1,23 @@ +A trait implementation was marked as unsafe while the trait is safe. + +Erroneous code example: + +```compile_fail,E0199 +struct Foo; + +trait Bar { } + +unsafe impl Bar for Foo { } // error! +``` + Safe traits should not have unsafe implementations, therefore marking an implementation for a safe trait unsafe will cause a compiler error. Removing -the unsafe marker on the trait noted in the error will resolve this problem. +the unsafe marker on the trait noted in the error will resolve this problem: -```compile_fail,E0199 +``` struct Foo; trait Bar { } -// this won't compile because Bar is safe -unsafe impl Bar for Foo { } -// this will compile -impl Bar for Foo { } +impl Bar for Foo { } // ok! ``` |
