Enum cosmwasm_std::SystemResult [−][src]
pub enum SystemResult<S> { Ok(S), Err(SystemError), }
This is the outer result type returned by a querier to the contract.
We use a custom type here instead of Rust’s Result because we want to be able to define the serialization, which is a public interface. Every language that compiles to Wasm and runs in the ComsWasm VM needs to create the same JSON representation.
Examples
Success:
let data = Binary::from(b"hello, world"); let result = SystemResult::Ok(ContractResult::Ok(data)); assert_eq!(to_vec(&result).unwrap(), br#"{"ok":{"ok":"aGVsbG8sIHdvcmxk"}}"#.to_vec());
Failure:
let error = SystemError::Unknown {}; let result: SystemResult<Binary> = SystemResult::Err(error); assert_eq!(to_vec(&result).unwrap(), br#"{"error":{"unknown":{}}}"#.to_vec());
Variants
Err(SystemError)
Implementations
impl<S> SystemResult<S>
[src]
impl<S> SystemResult<S>
[src]pub fn into_result(self) -> Result<S, SystemError>
[src]
Converts a ContractResult<S>
to a Result<S, SystemError>
as a convenient way
to access the full Result API.
pub fn unwrap(self) -> S
[src]
impl<S: Debug> SystemResult<S>
[src]
impl<S: Debug> SystemResult<S>
[src]pub fn unwrap_err(self) -> SystemError
[src]
Trait Implementations
impl<S: Clone> Clone for SystemResult<S>
[src]
impl<S: Clone> Clone for SystemResult<S>
[src]fn clone(&self) -> SystemResult<S>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<'de, S> Deserialize<'de> for SystemResult<S> where
S: Deserialize<'de>,
[src]
impl<'de, S> Deserialize<'de> for SystemResult<S> where
S: Deserialize<'de>,
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<S> From<Result<S, SystemError>> for SystemResult<S>
[src]
impl<S> From<Result<S, SystemError>> for SystemResult<S>
[src]fn from(original: Result<S, SystemError>) -> SystemResult<S>
[src]
impl<S: JsonSchema> JsonSchema for SystemResult<S>
[src]
impl<S: JsonSchema> JsonSchema for SystemResult<S>
[src]fn schema_name() -> String
[src]
fn json_schema(gen: &mut SchemaGenerator) -> Schema
[src]
pub fn is_referenceable() -> bool
[src]
impl<S: PartialEq> PartialEq<SystemResult<S>> for SystemResult<S>
[src]
impl<S: PartialEq> PartialEq<SystemResult<S>> for SystemResult<S>
[src]fn eq(&self, other: &SystemResult<S>) -> bool
[src]
fn ne(&self, other: &SystemResult<S>) -> bool
[src]
impl<S> Serialize for SystemResult<S> where
S: Serialize,
[src]
impl<S> Serialize for SystemResult<S> where
S: Serialize,
[src]impl<S> StructuralPartialEq for SystemResult<S>
[src]
impl<S> StructuralPartialEq for SystemResult<S>
[src]Auto Trait Implementations
impl<S> RefUnwindSafe for SystemResult<S> where
S: RefUnwindSafe,
impl<S> RefUnwindSafe for SystemResult<S> where
S: RefUnwindSafe,
impl<S> Send for SystemResult<S> where
S: Send,
impl<S> Send for SystemResult<S> where
S: Send,
impl<S> Sync for SystemResult<S> where
S: Sync,
impl<S> Sync for SystemResult<S> where
S: Sync,
impl<S> Unpin for SystemResult<S> where
S: Unpin,
impl<S> Unpin for SystemResult<S> where
S: Unpin,
impl<S> UnwindSafe for SystemResult<S> where
S: UnwindSafe,
impl<S> UnwindSafe for SystemResult<S> where
S: UnwindSafe,
Blanket Implementations
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]impl<T> FmtForward for T
impl<T> FmtForward for T
pub fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
Self: Binary,
pub fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
Self: Display,
pub fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
Self: LowerExp,
pub fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
Self: LowerHex,
pub fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
Self: Octal,
pub fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
Self: Pointer,
pub fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
Self: UpperExp,
pub fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
Self: UpperHex,
impl<T> PipeAsRef for T
impl<T> PipeAsRef for T
pub fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
Self: AsRef<T>,
T: 'a,
R: 'a,
pub fn pipe_as_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
impl<T> PipeBorrow for T
impl<T> PipeBorrow for T
pub fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
Self: Borrow<T>,
T: 'a,
R: 'a,
pub fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
impl<T> PipeDeref for T
impl<T> PipeDeref for T
pub fn pipe_deref<'a, R>(
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
Self: Deref,
R: 'a,
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
Self: Deref,
R: 'a,
pub fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
pub fn tap_ref<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Self: AsRef<T>,
F: FnOnce(&T) -> R,
pub fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Self: AsRef<T>,
F: FnOnce(&T) -> R,
pub fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
pub fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
pub fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Self: Borrow<T>,
F: FnOnce(&T) -> R,
pub fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Self: Borrow<T>,
F: FnOnce(&T) -> R,
pub fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
pub fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
impl<T> TapDeref for T
impl<T> TapDeref for T
pub fn tap_deref<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Self: Deref,
F: FnOnce(&Self::Target) -> R,
pub fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Self: Deref,
F: FnOnce(&Self::Target) -> R,
pub fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
pub fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,