Skip to content

Commit

Permalink
clean up e0200 explanation
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed Jan 18, 2020
1 parent bf84eb5 commit 9746b05
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions src/librustc_error_codes/error_codes/E0200.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
An unsafe trait was implemented without an unsafe implementation.

Erroneous code example:

```compile_fail,E0200
struct Foo;
unsafe trait Bar { }
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.

```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 { }
unsafe impl Bar for Foo { } // ok!
```

0 comments on commit 9746b05

Please sign in to comment.