MCPcopy Create free account
hub / github.com/argumentcomputer/ix / let_mdata_with_addr

Method let_mdata_with_addr

crates/kernel/src/expr.rs:539–556  ·  view source on GitHub ↗
(
    name: M::MField<Name>,
    ty: KExpr<M>,
    val: KExpr<M>,
    body: KExpr<M>,
    non_dep: bool,
    mdata: M::MField<Vec<MData>>,
    addr: Addr,
  )

Source from the content-addressed store, hash-verified

537 pub fn prj(id: KId<M>, field: u64, val: KExpr<M>) -> Self {
538 Self::prj_mdata(id, field, val, no_mdata::<M>())
539 }
540
541 fn prj_mdata_with_addr(
542 id: KId<M>,
543 field: u64,
544 val: KExpr<M>,
545 mdata: M::MField<Vec<MData>>,
546 addr: Addr,
547 ) -> Self {
548 let info =
549 mk_info::<M>(addr, val.lbr(), val.count_0(), val.has_fvars(), mdata);
550 KExpr::new(ExprData::Prj(id, field, val, info))
551 }
552
553 pub fn prj_mdata(
554 id: KId<M>,
555 field: u64,
556 val: KExpr<M>,
557 mdata: M::MField<Vec<MData>>,
558 ) -> Self {
559 let addr = fresh_uid();

Callers

nothing calls this directly

Calls 4

lbrMethod · 0.80
count_0Method · 0.80
has_fvarsMethod · 0.80
maxMethod · 0.45

Tested by

no test coverage detected