Clean up E0199 explanation
This commit is contained in:
parent
bf84eb538f
commit
e8a4b9319c
@ -1,14 +1,23 @@
|
||||
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.
|
||||
A trait implementation was marked as unsafe while the trait is safe.
|
||||
|
||||
Erroneous code example:
|
||||
|
||||
```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 { }
|
||||
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:
|
||||
|
||||
```
|
||||
struct Foo;
|
||||
|
||||
trait Bar { }
|
||||
|
||||
impl Bar for Foo { } // ok!
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user