Which types are legal for x to be in this snippet?
if x { println!("ok"); }
every type that implements the std::cmp::Truth trait
only the primitive bool type
both bool and u8 (which is how bool is implemented under the hood)
bool and std::sync::atomic::AtomicBool