Cannot embed a void value

This commit is contained in:
Emery Hemingway 2022-12-07 01:18:51 -06:00
parent c04fc181c8
commit c9268b2a5d
1 changed files with 3 additions and 1 deletions

View File

@ -746,7 +746,9 @@ proc toPreserve*[T](x: T; E = void): Preserve[E] =
## When `tracePreserves` is defined (`-d:tracePreserves`) a diagnostic
## trace is printing during `toPreserve`.
when (T is Preserve[E]): result = x
elif T is E: result = embed(x)
elif T is E:
when E is void: {.error: "cannot embed void".}
result = embed(x)
elif compiles(toPreserveHook(x, E)):
result = toPreserveHook(x, E)
elif T is enum: