clean up e0200 explanation

This commit is contained in:
Guillaume Gomez 2020-01-18 13:12:30 +01:00
parent bf84eb538f
commit 9746b05da9

View File

@ -1,14 +1,23 @@
Unsafe traits must have unsafe implementations. This error occurs when an
implementation for an unsafe trait isn't marked as unsafe. This may be resolved
by marking the unsafe implementation as unsafe.
An unsafe trait was implemented without an unsafe implementation.
Erroneous code example:
```compile_fail,E0200
struct Foo;
unsafe trait Bar { }
// this won't compile because Bar is unsafe and impl isn't unsafe
impl Bar for Foo { }
// this will compile
unsafe impl Bar for Foo { }
impl Bar for Foo { } // error!
```
Unsafe traits must have unsafe implementations. This error occurs when an
implementation for an unsafe trait isn't marked as unsafe. This may be resolved
by marking the unsafe implementation as unsafe.
```
struct Foo;
unsafe trait Bar { }
unsafe impl Bar for Foo { } // ok!
```