Skip to content

Commit

Permalink
Rollup merge of #112037 - Nemo157:e0133-unsafe_op_in_unsafe_fn, r=pet…
Browse files Browse the repository at this point in the history
…rochenkov

Add details about `unsafe_op_in_unsafe_fn` to E0133

This was mentioned in #99827 (comment)
  • Loading branch information
matthiaskrgr authored May 29, 2023
2 parents 45ca2f7 + 8f94253 commit c5a93ba
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion compiler/rustc_error_codes/src/error_codes/E0133.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Unsafe code was used outside of an unsafe function or block.
Unsafe code was used outside of an unsafe block.

Erroneous code example:

Expand Down Expand Up @@ -30,4 +30,21 @@ fn main() {

See the [unsafe section][unsafe-section] of the Book for more details.

#### Unsafe code in functions

Unsafe code is currently accepted in unsafe functions, but that is being phased
out in favor of requiring unsafe blocks here too.

```
unsafe fn f() { return; }
unsafe fn g() {
f(); // Is accepted, but no longer recommended
unsafe { f(); } // Recommended way to write this
}
```

Linting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which
is `allow` by default but will be upgraded to `warn` in a future edition.

[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html

0 comments on commit c5a93ba

Please sign in to comment.