blob: 9db038219b4aecbc6338f2e525cc5900c9394131 [file] [log] [blame]
//@run-rustfix
#![warn(clippy::semicolon_if_nothing_returned)]
#![allow(clippy::redundant_closure, clippy::uninlined_format_args, clippy::needless_late_init)]
fn get_unit() {}
// the functions below trigger the lint
fn main() {
println!("Hello")
}
fn hello() {
get_unit()
}
fn basic101(x: i32) {
let y: i32;
y = x + 1
}
#[rustfmt::skip]
fn closure_error() {
let _d = || {
hello()
};
}
#[rustfmt::skip]
fn unsafe_checks_error() {
use std::mem::MaybeUninit;
use std::ptr;
let mut s = MaybeUninit::<String>::uninit();
let _d = || unsafe {
ptr::drop_in_place(s.as_mut_ptr())
};
}
// this is fine
fn print_sum(a: i32, b: i32) {
println!("{}", a + b);
assert_eq!(true, false);
}
fn foo(x: i32) {
let y: i32;
if x < 1 {
y = 4;
} else {
y = 5;
}
}
fn bar(x: i32) {
let y: i32;
match x {
1 => y = 4,
_ => y = 32,
}
}
fn foobar(x: i32) {
let y: i32;
'label: {
y = x + 1;
}
}
fn loop_test(x: i32) {
let y: i32;
for &ext in &["stdout", "stderr", "fixed"] {
println!("{}", ext);
}
}
fn closure() {
let _d = || hello();
}
#[rustfmt::skip]
fn closure_block() {
let _d = || { hello() };
}
unsafe fn some_unsafe_op() {}
unsafe fn some_other_unsafe_fn() {}
fn do_something() {
unsafe { some_unsafe_op() };
unsafe { some_other_unsafe_fn() };
}
fn unsafe_checks() {
use std::mem::MaybeUninit;
use std::ptr;
let mut s = MaybeUninit::<String>::uninit();
let _d = || unsafe { ptr::drop_in_place(s.as_mut_ptr()) };
}
// Issue #7768
#[rustfmt::skip]
fn macro_with_semicolon() {
macro_rules! repro {
() => {
while false {
}
};
}
repro!();
}
fn function_returning_option() -> Option<i32> {
Some(1)
}
// No warning
fn let_else_stmts() {
let Some(x) = function_returning_option() else {
return;
};
}