1#![warn(rust_2018_idioms)]
5#![warn(rust_2021_compatibility)]
6#![warn(missing_debug_implementations)]
7#![warn(missing_docs)]
8#![warn(unreachable_pub)]
9#![warn(unsafe_code)]
10#![warn(clippy::pedantic)]
11#![warn(rustdoc::broken_intra_doc_links)]
12#![cfg_attr(not(test), deny(clippy::panic_in_result_fn))]
13#![cfg_attr(not(debug_assertions), deny(clippy::used_underscore_binding))]
14
15pub mod docs {
18 #![allow(rustdoc::invalid_rust_codeblocks)]
22 #![doc = include_str!("../README.md")]
23}
24
25#[macro_export]
27macro_rules! if_none_break {
28 ($var:expr) => {
29 if let Some(some) = $var {
30 some
31 } else {
32 break;
33 }
34 };
35}
36
37#[macro_export]
39macro_rules! if_none_continue {
40 ($var:expr) => {
41 if let Some(some) = $var {
42 some
43 } else {
44 continue;
45 }
46 };
47}
48
49#[macro_export]
51macro_rules! if_none_return {
52 ($var:expr) => {
53 if let Some(some) = $var {
54 some
55 } else {
56 return;
57 }
58 };
59}
60
61#[macro_export]
63macro_rules! if_none_return_with {
64 ($var:expr, $ret:expr) => {
65 if let Some(some) = $var {
66 some
67 } else {
68 return $ret;
69 }
70 };
71}
72
73#[macro_export]
75macro_rules! if_err_break {
76 ($var:expr) => {
77 if let ::core::result::Result::Ok(some) = $var {
78 some
79 } else {
80 break;
81 }
82 };
83}
84
85#[macro_export]
87macro_rules! if_err_continue {
88 ($var:expr) => {
89 if let ::core::result::Result::Ok(some) = $var {
90 some
91 } else {
92 continue;
93 }
94 };
95}
96
97#[macro_export]
99macro_rules! if_err_return {
100 ($var:expr) => {
101 if let ::core::result::Result::Ok(some) = $var {
102 some
103 } else {
104 return;
105 }
106 };
107}
108
109#[macro_export]
111macro_rules! if_err_return_with {
112 ($var:expr, $ret:expr) => {
113 if let ::core::result::Result::Ok(some) = $var {
114 some
115 } else {
116 return $ret;
117 }
118 };
119}