use iex::{iex, Outcome}; #[derive(Debug, PartialEq)] struct A; impl A { #[iex] fn static_method() -> Result<(), &'static str> { Ok(()) } #[iex] fn value_method(self) -> Result { Ok(self) } #[iex] fn ref_method<'a>(&'a self) -> Result<&'a Self, &'static str> { Ok(self) } #[iex] fn mut_method<'a>(&'a mut self) -> Result<&'a mut Self, &'static str> { Ok(self) } } #[test] fn methods() { assert_eq!(A::static_method().into_result(), Ok(())); assert_eq!(A.value_method().into_result(), Ok(A)); assert_eq!(A.ref_method().into_result(), Ok(&A)); assert_eq!(A.mut_method().into_result(), Ok(&mut A)); }