diff options
| author | bors <bors@rust-lang.org> | 2021-06-09 08:39:56 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-06-09 08:39:56 +0000 |
| commit | dd0246813f3f42a6cadc2109cdbda76300495981 (patch) | |
| tree | 453f713bffc8c1c6c63fca271ca0658cf0a4e4e7 /compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp | |
| parent | da0538eaca6be7f89d1734bd4a89fb3af97b0049 (diff) | |
| parent | 5ec80f32c75eae1fd27389ce0556ec4011144498 (diff) | |
| download | rust-dd0246813f3f42a6cadc2109cdbda76300495981.tar.gz rust-dd0246813f3f42a6cadc2109cdbda76300495981.zip | |
Auto merge of #7326 - 1c3t3a:1c3t3a-issue-7324, r=flip1995
Fix false positive on `semicolon_if_nothing_returned`
Currently the [`semicolon_if_nothing_returned`](https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned) lint fires in unwanted situations where a block only spans one line. An example of this was given in #7324. This code:
```rust
use std::mem::MaybeUninit;
use std::ptr;
fn main() {
let mut s = MaybeUninit::<String>::uninit();
let _d = || unsafe { ptr::drop_in_place(s.as_mut_ptr()) };
}
```
yields the following clippy error:
```
error: consider adding a `;` to the last statement for consistent formatting
--> src/main.rs:6:26
|
6 | let _d = || unsafe { ptr::drop_in_place(s.as_mut_ptr()) };
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `ptr::drop_in_place(s.as_mut_ptr());`
|
= note: `-D clippy::semicolon-if-nothing-returned` implied by `-D clippy::pedantic`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
```
I updated the lint to check if the statement is inside an `unsafe` block, a closure or a normal block and if the block only spans one line, in that case the lint is not emitted.
This closes #7324.
changelog: enhanced semicolon if nothing returned according to #7324.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
