Trait StaticSorted

Source
pub trait StaticSorted<'st>: Into<STerm<'st>> + From<STerm<'st>> {
    type Inner: StaticSorted<'st>;

    const AST_SORT: Sort<'static>;

    // Required method
    fn static_st(&self) -> &'st Storage;

    // Provided methods
    fn sort() -> Sort<'st> { ... }
    fn new_const(st: &'st Storage, name: &str) -> Const<'st, Self> { ... }
}
Expand description

A trait for statically typing STM-LIB terms.

Refer to the Sorted trait for a more general version of this trait.

Required Associated Constants§

Source

const AST_SORT: Sort<'static>

The sort of this sort.

Required Associated Types§

Source

type Inner: StaticSorted<'st>

The inner type of the term. This is used for Const<'st, T> where the inner type is T.

Required Methods§

Source

fn static_st(&self) -> &'st Storage

The storage associated with the term.

Provided Methods§

Source

fn sort() -> Sort<'st>

The sort of this sort.

Source

fn new_const(st: &'st Storage, name: &str) -> Const<'st, Self>

Construct a new constante of this sort.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'st> StaticSorted<'st> for Bool<'st>

Source§

const AST_SORT: Sort<'static>

Source§

type Inner = Bool<'st>

Source§

impl<'st> StaticSorted<'st> for Int<'st>

Source§

const AST_SORT: Sort<'static>

Source§

type Inner = Int<'st>

Source§

impl<'st> StaticSorted<'st> for Real<'st>

Source§

const AST_SORT: Sort<'static>

Source§

type Inner = Real<'st>

Source§

impl<'st, X: StaticSorted<'st>, Y: StaticSorted<'st>> StaticSorted<'st> for Array<'st, X, Y>

Source§

const AST_SORT: Sort<'static>

Source§

type Inner = Array<'st, X, Y>

Source§

impl<'st, const M: usize> StaticSorted<'st> for BitVec<'st, M>

Source§

const AST_SORT: Sort<'static>

Source§

type Inner = BitVec<'st, M>