Skip to main content

Query

Trait Query 

Source
pub trait Query: Interaction {
    type Args;
    type Reply;

    // Required methods
    fn require(args: &Self::Args) -> Result<(), ()>;
    fn ensure(args: &Self::Args, reply: &Self::Reply) -> Result<(), ()>;
}
Expand description

A query (ridl §7).

Required Associated Types§

Source

type Args

The argument type.

Source

type Reply

The reply type.

Required Methods§

Source

fn require(args: &Self::Args) -> Result<(), ()>

Evaluates the query’s require clauses. Ok when every clause is true or the query declares none. Err when a clause is false, which the provider reports as Contract::PreconditionFailed.

Source

fn ensure(args: &Self::Args, reply: &Self::Reply) -> Result<(), ()>

Evaluates the query’s ensure clauses. Ok when every clause is true or the query declares none. Err when a clause is false, which the provider reports as Contract::ContractBroken.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§