flowistry_ifc_traits/
lib.rs

1use std::fmt;
2
3pub trait Secure {}
4pub trait Insecure {}
5
6impl<T: Secure> Secure for &T {}
7
8impl Insecure for fmt::Arguments<'_> {}
9
10pub struct InsecureString(pub String);
11impl Insecure for InsecureString {}
12
13#[macro_export]
14macro_rules! insecure_print {
15  ($($arg:tt),*) => {
16    let s = $crate::InsecureString(format!($($arg),+));
17    println!("{}", s.0);
18  }
19}