#[cfg(feature = "support_count_trig")]
use SafeManuallyDrop::AutoSafeCounterManuallyDrop as ManuallyDrop;
#[cfg(not(feature = "support_count_trig"))]
use SafeManuallyDrop::ManuallyDrop;
use std::ops::Deref;
#[allow(unreachable_code)]
fn main() {
#[cfg(not(feature = "support_count_trig"))] {
println!("To run the example, a build with feature: support_count_trig is required,");
println!("exp: cargo run --example counter --all-features");
println!("end.");
return;
}
let mut data = ManuallyDrop::new(&[1, 2, 3, 4]);
println!("data: {:?}", data.deref());
#[allow(unused_unsafe)] unsafe {
assert_eq!(data.is_next_trig(), false);
ManuallyDrop::drop(&mut data); assert_eq!(data.is_next_trig(), true);
ManuallyDrop::drop(&mut data); }
println!("data: {:?}", &data);
#[allow(unused_unsafe)] let _data2 = unsafe { ManuallyDrop::take(&mut data)
};
#[cfg(feature = "support_count_trig")]
assert_eq!(ManuallyDrop::get_count_trig_events(), 3); }