rust-clippy/tests/ui/panicking_macros.rs
Camelid 4e4c4fb8aa Fix handling of panic calls
This should make Clippy more resilient and will unblock #78343.

This PR is made against rust-lang/rust to avoid the need for a subtree
sync at @flip1995's suggestion in rust-lang/rust-clippy#6310.
2020-11-17 12:16:15 -08:00

52 lines
1 KiB
Rust

#![warn(clippy::unimplemented, clippy::unreachable, clippy::todo, clippy::panic)]
#![allow(clippy::assertions_on_constants)]
extern crate core;
fn panic() {
let a = 2;
panic!();
panic!("message");
panic!("{} {}", "panic with", "multiple arguments");
let b = a + 2;
}
fn todo() {
let a = 2;
todo!();
todo!("message");
todo!("{} {}", "panic with", "multiple arguments");
let b = a + 2;
}
fn unimplemented() {
let a = 2;
unimplemented!();
unimplemented!("message");
unimplemented!("{} {}", "panic with", "multiple arguments");
let b = a + 2;
}
fn unreachable() {
let a = 2;
unreachable!();
unreachable!("message");
unreachable!("{} {}", "panic with", "multiple arguments");
let b = a + 2;
}
fn core_versions() {
use core::{panic, todo, unimplemented, unreachable};
panic!();
todo!();
unimplemented!();
unreachable!();
}
fn main() {
panic();
todo();
unimplemented();
unreachable();
core_versions();
}