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§
fn h(inference_context: &Context) -> PairBuilder<Self>
fn o() -> SelectorBuilder<Self>
fn i() -> SelectorBuilder<Self>
fn bit(inference_context: &Context, bit: bool) -> PairBuilder<Self>
Sourcefn unit_scribe(inference_context: &Context, value: &Value) -> Self
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
Sourcefn assertl_take(&self, cmr: Cmr) -> Self
fn assertl_take(&self, cmr: Cmr) -> Self
assertl (take s) cmr
always type checks.
Sourcefn assertl_drop(&self, cmr: Cmr) -> Self
fn assertl_drop(&self, cmr: Cmr) -> Self
assertl (drop s) cmr
always type checks.
Sourcefn assertr_take(cmr: Cmr, right: &Self) -> Self
fn assertr_take(cmr: Cmr, right: &Self) -> Self
assertr cmr (drop s)
always type checks.
Sourcefn assertr_drop(cmr: Cmr, right: &Self) -> Self
fn assertr_drop(cmr: Cmr, right: &Self) -> Self
assertr cmr (take s)
always type checks.
Sourcefn case_false_true(inference_context: &Context) -> Self
fn case_false_true(inference_context: &Context) -> Self
case false true
always type-checks.
Sourcefn case_true_false(inference_context: &Context) -> Self
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.