Rollup merge of #68317 - GuillaumeGomez:clean-up-e0199, r=Dylan-DPC
Clean up E0199 explanation r? @Dylan-DPC
This commit is contained in:
commit
14d779c3f0
@ -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