//! Smart contract that implements trait. use unc_sdk::unc; #[unc(contract_state)] #[derive(Default)] struct Incrementer { value: u32, } pub trait Zeroable { fn set_to_zero(&mut self); } #[unc] impl Incrementer { pub fn inc(&mut self, by: u32) { self.value += by; } } #[unc] impl Zeroable for Incrementer { fn set_to_zero(&mut self) { self.value = 0; } } fn main() {}