| #![feature(coverage_attribute)] |
| //@ edition: 2024 |
| |
| use core::assert_matches; |
| |
| fn assert_a_plain(opt: Option<&str>) { |
| assert!(opt.is_some()); |
| assert_eq!(opt, Some("true")); |
| assert_ne!(opt, None); |
| assert_matches!(opt, Some("true")); |
| } |
| |
| fn assert_b_message(opt: Option<&str>) { |
| assert!(opt.is_some(), "message"); |
| assert_eq!(opt, Some("true"), "message"); |
| assert_ne!(opt, None, "message"); |
| assert_matches!(opt, Some("true"), "message"); |
| } |
| |
| fn assert_c_format_inline(opt: Option<&str>, msg: &str) { |
| assert!(opt.is_some(), "message: {msg}"); |
| assert_eq!(opt, Some("true"), "message: {msg}"); |
| assert_ne!(opt, None, "message: {msg}"); |
| assert_matches!(opt, Some("true"), "message: {msg}"); |
| } |
| |
| fn assert_d_format_arg(opt: Option<&str>, msg: &str) { |
| assert!(opt.is_some(), "message: {}", msg); |
| assert_eq!(opt, Some("true"), "message: {}", msg); |
| assert_ne!(opt, None, "message: {}", msg); |
| assert_matches!(opt, Some("true"), "message: {}", msg); |
| } |
| |
| #[coverage(off)] |
| fn main() { |
| let opt = core::hint::black_box(Some("true")); |
| assert_a_plain(opt); |
| assert_b_message(opt); |
| assert_c_format_inline(opt, "message"); |
| assert_d_format_arg(opt, "message"); |
| } |