def segs_rt

bend-osdev-acpi@0.1.1.0 · PROOF.bend:2176

import bend-osdev-acpi@0.1.1.0/PROOF.bend as PROOF
import Base
import bend-osdev-bytes@0.1.1.0/bytes.bend as B
import bend-osdev-acpi@0.1.1.0/error.bend as E
import bend-osdev-acpi@0.1.1.0/aml_name.bend as N

2176def segs_rt(+ss: List<&2, B.Octets>, +R: List<&2, U32>, +oks: {N.AmlName.segs_ok(ss) == True{} : Bool}) -> {Done{N.AmlSegsL{ss, R}} == N.nm.segs(N.nm.len(ss), B.append(N.nm.segs.list(ss), R)) : Result<&2, &2, E.AcpiError, N.AmlSegsL>}:
2177  match ss:
2178    case Nil{}:
2179      {==}
2180    case Con{s, t}:
2181      %app_assoc(B.Octets.to_list(s), N.nm.segs.list(t), R) : {Done{N.AmlSegsL{Con{s, t}, R}} == N.nm.segs.go(N.nm.len(t), N.nm.seg(_)) : Result<&2, &2, E.AcpiError, N.AmlSegsL>}
2182      segs_go_rt(t, s, R, oks)

Uses (17)

Used by (3)