about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTyler Mandry <tmandry@gmail.com>2020-01-17 17:28:23 -0800
committerGitHub <noreply@github.com>2020-01-17 17:28:23 -0800
commit14d779c3f0c824ced78f7381c49074cc07c9d602 (patch)
tree8903e14709f4326a22a1bde4654cc3253bc1f1aa
parentdd6a83875e4236966cb846236b243fd3ccaf56af (diff)
parente8a4b9319cbf5b3f56b3cdd8ad11e86ff7168345 (diff)
downloadrust-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.md21
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!
 ```