[][src]Struct miniscript::miniscript::types::correctness::Correctness

pub struct Correctness {
    pub base: Base,
    pub input: Input,
    pub dissatisfiable: bool,
    pub unit: bool,
}

Structure representing the type properties of a fragment which are relevant to completeness (are all expected branches actually accessible, given some valid witness) and soundness (is it possible to satisfy the Script without satisfying one of the Miniscript branches).

Fields

base: Base

The base type

input: Input

Properties of the inputs

dissatisfiable: bool

Whether it is definitely possible to dissatisfy the expression. If this is false, it does not necessarily mean that dissatisfaction is impossible (see Dissat::None for this property); it only means that we cannot depend on having a dissatisfaction when reasoning about completeness.

unit: bool

Whether the fragment's "nonzero" output on satisfaction is always the constant 1.

Implementations

impl Correctness[src]

pub fn is_subtype(&self, other: Self) -> bool[src]

Check whether the self is a subtype of other argument . This checks whether the argument other has attributes which are present in the given Type. This returns true on same arguments a.is_subtype(a) is true.

Trait Implementations

impl Clone for Correctness[src]

impl Copy for Correctness[src]

impl Debug for Correctness[src]

impl Eq for Correctness[src]

impl Hash for Correctness[src]

impl Ord for Correctness[src]

impl PartialEq<Correctness> for Correctness[src]

impl PartialOrd<Correctness> for Correctness[src]

impl Property for Correctness[src]

impl StructuralEq for Correctness[src]

impl StructuralPartialEq for Correctness[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.