//! Method signature uses Self. use unc_sdk::unc; #[derive(Default)] #[unc(contract_state, serializers=[json])] pub struct Ident { value: u32, } #[unc] impl Ident { #[init] pub fn plain_arg(_a: Self) -> Self { unimplemented!() } #[init] pub fn plain_ret() -> Self { unimplemented!() } #[init] pub fn plain_arg_ret(a: Self) -> Self { a } #[init] pub fn nested_arg(_a: Vec) -> Self { unimplemented!() } #[init] pub fn nested_ret() -> Vec { unimplemented!() } #[init] pub fn nested_arg_ret(a: Vec) -> Vec { a } #[init] pub fn deeply_nested_arg(_a: Option<[(Self, Result); 2]>) -> Self { unimplemented!() } #[init] pub fn deeply_nested_ret() -> Option<[(Self, Result); 2]> { unimplemented!() } #[init] pub fn deeply_nested_arg_ret( a: Option<[(Self, Result); 2]>, ) -> Option<[(Self, Result); 2]> { a } } fn main() {}