def nm.segs.go

bend-osdev-acpi@0.1.1.0 · aml_name.bend:237

import bend-osdev-acpi@0.1.1.0/aml_name.bend as AmlName
import Base
import bend-osdev-acpi@0.1.1.0/error.bend as E

237# the segment in r, then p more
238def nm.segs.go(p: Nat, r: Result<&2, &2, E.AcpiError, AmlSegL>) -> Result<&2, &2, E.AcpiError, AmlSegsL>:
239  match p:
240    case 0n:
241      match r:
242        case Fail{e}:
243          Fail{e}
244        case Done{AmlSegL{s, rest}}:
245          Done{AmlSegsL{[s], rest}}
246    case 1n+q:
247      match r:
248        case Fail{e}:
249          Fail{e}
250        case Done{AmlSegL{s, rest}}:
251          nm.cons(s, nm.segs.go(q, nm.seg(rest)))

Uses (8)

Used by (6)