From c9268b2a5d2e52fa94415477fecc055d092c86b2 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Wed, 7 Dec 2022 01:18:51 -0600 Subject: [PATCH] Cannot embed a void value --- src/preserves.nim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/preserves.nim b/src/preserves.nim index 8c242f6..0df0f39 100644 --- a/src/preserves.nim +++ b/src/preserves.nim @@ -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: