2019-10-16 17:43:26 +00:00
|
|
|
#![warn(clippy::unimplemented, clippy::unreachable, clippy::todo, clippy::panic)]
|
2021-04-10 21:37:18 +00:00
|
|
|
#![allow(clippy::assertions_on_constants, clippy::eq_op)]
|
2019-10-16 17:43:26 +00:00
|
|
|
|
2020-11-17 20:16:15 +00:00
|
|
|
extern crate core;
|
|
|
|
|
2019-10-16 17:43:26 +00:00
|
|
|
fn panic() {
|
|
|
|
let a = 2;
|
|
|
|
panic!();
|
2020-07-26 19:07:07 +00:00
|
|
|
panic!("message");
|
|
|
|
panic!("{} {}", "panic with", "multiple arguments");
|
2019-10-16 17:43:26 +00:00
|
|
|
let b = a + 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
fn todo() {
|
|
|
|
let a = 2;
|
|
|
|
todo!();
|
2020-07-26 19:07:07 +00:00
|
|
|
todo!("message");
|
|
|
|
todo!("{} {}", "panic with", "multiple arguments");
|
2019-10-16 17:43:26 +00:00
|
|
|
let b = a + 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
fn unimplemented() {
|
|
|
|
let a = 2;
|
|
|
|
unimplemented!();
|
2020-07-26 19:07:07 +00:00
|
|
|
unimplemented!("message");
|
|
|
|
unimplemented!("{} {}", "panic with", "multiple arguments");
|
2019-10-16 17:43:26 +00:00
|
|
|
let b = a + 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
fn unreachable() {
|
|
|
|
let a = 2;
|
|
|
|
unreachable!();
|
2020-07-26 19:07:07 +00:00
|
|
|
unreachable!("message");
|
|
|
|
unreachable!("{} {}", "panic with", "multiple arguments");
|
2019-10-16 17:43:26 +00:00
|
|
|
let b = a + 2;
|
|
|
|
}
|
|
|
|
|
2020-11-17 20:16:15 +00:00
|
|
|
fn core_versions() {
|
|
|
|
use core::{panic, todo, unimplemented, unreachable};
|
|
|
|
panic!();
|
|
|
|
todo!();
|
|
|
|
unimplemented!();
|
|
|
|
unreachable!();
|
|
|
|
}
|
|
|
|
|
2021-07-06 07:14:53 +00:00
|
|
|
fn assert() {
|
|
|
|
assert!(true);
|
|
|
|
assert_eq!(true, true);
|
|
|
|
assert_ne!(true, false);
|
|
|
|
}
|
|
|
|
|
|
|
|
fn assert_msg() {
|
|
|
|
assert!(true, "this should not panic");
|
|
|
|
assert_eq!(true, true, "this should not panic");
|
|
|
|
assert_ne!(true, false, "this should not panic");
|
|
|
|
}
|
|
|
|
|
2021-04-10 21:37:18 +00:00
|
|
|
fn debug_assert() {
|
|
|
|
debug_assert!(true);
|
|
|
|
debug_assert_eq!(true, true);
|
|
|
|
debug_assert_ne!(true, false);
|
|
|
|
}
|
|
|
|
|
|
|
|
fn debug_assert_msg() {
|
|
|
|
debug_assert!(true, "test");
|
|
|
|
debug_assert_eq!(true, true, "test");
|
|
|
|
debug_assert_ne!(true, false, "test");
|
|
|
|
}
|
|
|
|
|
2019-10-16 17:43:26 +00:00
|
|
|
fn main() {
|
|
|
|
panic();
|
|
|
|
todo();
|
|
|
|
unimplemented();
|
|
|
|
unreachable();
|
2020-11-17 20:16:15 +00:00
|
|
|
core_versions();
|
2021-07-06 07:14:53 +00:00
|
|
|
assert();
|
|
|
|
assert_msg();
|
|
|
|
debug_assert();
|
|
|
|
debug_assert_msg();
|
2019-10-16 17:43:26 +00:00
|
|
|
}
|