Trait CoreExt

Source
pub trait CoreExt: CoreConstructible + Sized {
    // Provided methods
    fn h(inference_context: &Context) -> PairBuilder<Self> { ... }
    fn o() -> SelectorBuilder<Self> { ... }
    fn i() -> SelectorBuilder<Self> { ... }
    fn bit(inference_context: &Context, bit: bool) -> PairBuilder<Self> { ... }
    fn unit_scribe(inference_context: &Context, value: &Value) -> Self { ... }
    fn assertl_take(&self, cmr: Cmr) -> Self { ... }
    fn assertl_drop(&self, cmr: Cmr) -> Self { ... }
    fn assertr_take(cmr: Cmr, right: &Self) -> Self { ... }
    fn assertr_drop(cmr: Cmr, right: &Self) -> Self { ... }
    fn case_false_true(inference_context: &Context) -> Self { ... }
    fn case_true_false(inference_context: &Context) -> Self { ... }
}
Expand description

More constructors for types that implement CoreConstructible.

Provided Methods§

Source

fn h(inference_context: &Context) -> PairBuilder<Self>

Source

fn o() -> SelectorBuilder<Self>

Source

fn i() -> SelectorBuilder<Self>

Source

fn bit(inference_context: &Context, bit: bool) -> PairBuilder<Self>

Source

fn unit_scribe(inference_context: &Context, value: &Value) -> Self

Compose a unit with a scribed value.

§Infallibility

unit produces the unit value, which is the input of scribe(v).

unit      : A → 1
scribe(v) : 1 → B
---------------------------
comp unit scribe(v) : A → B
Source

fn assertl_take(&self, cmr: Cmr) -> Self

assertl (take s) cmr always type checks.

Source

fn assertl_drop(&self, cmr: Cmr) -> Self

assertl (drop s) cmr always type checks.

Source

fn assertr_take(cmr: Cmr, right: &Self) -> Self

assertr cmr (drop s) always type checks.

Source

fn assertr_drop(cmr: Cmr, right: &Self) -> Self

assertr cmr (take s) always type checks.

Source

fn case_false_true(inference_context: &Context) -> Self

case false true always type-checks.

Source

fn case_true_false(inference_context: &Context) -> Self

case true false always type-checks.

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§