def dequeue_ready

bend-collections@1.0.0.0 · src/containers/queue.bend:28

import bend-collections@1.0.0.0/src/containers/queue.bend as Queue
import Base
import bend-collections@1.0.0.0/src/containers/types/queue.bend as E

28def dequeue_ready(~T: Data, q: Queue<T>) -> Queue<T> & Result<&2, &2, E.Error, T>:
29  match q:
30    case QU{Nil{}, b, n}:
31      (QU{Nil{}, b, n}, Fail{E.EmptyQueue{}})
32    case QU{Con{x, f}, b, n}:
33      (QU{f, b, Nat.sub(n, 1n)}, Done{x})

Uses (7)

Used by (1)