pub use std::io::Write;
macro_rules! create_std_macros {
($src:expr, $name:ident, $nameln:ident) => {
#[macro_export]
macro_rules! $name {
($str:expr) => {
$src.write_all($str.as_bytes()).unwrap();
$src.flush().unwrap()
}
}
#[macro_export]
macro_rules! $nameln {
($str:expr) => {
let mut s = String::with_capacity($str.len() + 1);
s.push_str($str);
s.push('\n');
$name!(s);
}
}
}
}
create_std_macros!(std::io::stdout(), stdout, stdoutln);
create_std_macros!(std::io::stderr(), stderr, stderrln);
#[test]
fn it_works() {
stdout!("Hello ");
stdoutln!("World");
stderrln!("ERROR! (not really though)");
}