Fix expand of embedded Preserves
This commit is contained in:
parent
adec7fd7ad
commit
66a653a775
|
@ -1,6 +1,6 @@
|
|||
# Package
|
||||
|
||||
version = "20221208"
|
||||
version = "20221213"
|
||||
author = "Emery Hemingway"
|
||||
description = "data model and serialization format"
|
||||
license = "Unlicense"
|
||||
|
|
|
@ -1245,7 +1245,9 @@ proc contract*[E](pr: sink Preserve[E]; op: proc (v: E): Preserve[void]): Preser
|
|||
|
||||
proc expand*[E](pr: sink Preserve[void]; op: proc (v: Preserve[void]): Preserve[E]): Preserve[E] =
|
||||
## Convert `Preserve[void]` to `Preserve[E]` using an `Preserve[void] → Preserve[E]` procedure.
|
||||
if not pr.embedded:
|
||||
if pr.embedded:
|
||||
result = op(pr)
|
||||
else:
|
||||
case pr.kind
|
||||
of pkBoolean, pkFloat, pkDouble, pkSignedInteger, pkString, pkByteString, pkSymbol:
|
||||
result = cast[Preserve[E]](pr)
|
||||
|
|
Loading…
Reference in New Issue