#![warn(missing_docs)]
#![warn(clippy::pedantic)]
#![warn(clippy::as_conversions)]
#![warn(clippy::dbg_macro)]
#![warn(clippy::empty_structs_with_brackets)]
#![warn(clippy::get_unwrap)]
#![warn(clippy::if_then_some_else_none)]
#![warn(clippy::let_underscore_must_use)]
#![warn(clippy::map_err_ignore)]
#![warn(clippy::missing_docs_in_private_items)]
#![warn(clippy::negative_feature_names)]
#![warn(clippy::rc_buffer)]
#![warn(clippy::rc_mutex)]
#![warn(clippy::redundant_feature_names)]
#![warn(clippy::rest_pat_in_fully_bound_structs)]
#![warn(clippy::str_to_string)]
#![warn(clippy::string_add)]
#![warn(clippy::string_slice)]
#![warn(clippy::string_to_string)]
#![warn(clippy::undocumented_unsafe_blocks)]
#![warn(clippy::unneeded_field_pattern)]
#![warn(clippy::unseparated_literal_suffix)]
#![warn(clippy::unwrap_used)]
#![warn(clippy::wildcard_dependencies)]
mod try_scanpw;
pub use try_scanpw::{try_scanpw, Error};
#[macro_export]
macro_rules! scanpw {
() => {{
$crate::scanpw!(Some('*'))
}};
( $fmt:literal ) => {{
print!($fmt);
use ::std::io::Write;
::std::io::stdout().flush().unwrap();
$crate::try_scanpw(Some('*')).unwrap()
}};
( $fmt:literal, $($args:tt)* ) => {{
print!("{}", format_args!($fmt, $($args)*));
use ::std::io::Write;
::std::io::stdout().flush().unwrap();
$crate::try_scanpw(Some('*')).unwrap()
}};
( $echo:expr ) => {{
$crate::try_scanpw($echo).unwrap()
}};
( $echo:expr, $fmt:literal ) => {{
print!($fmt);
use ::std::io::Write;
::std::io::stdout().flush().unwrap();
$crate::try_scanpw($echo).unwrap()
}};
( $echo:expr, $fmt:literal, $($args:tt)* ) => {{
print!("{}", format_args!($fmt, $($args)*));
use ::std::io::Write;
::std::io::stdout().flush().unwrap();
$crate::try_scanpw($echo).unwrap()
}};
}