From a03a188bc23f05f13aa4769734aabdbc80b364d2 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Mon, 25 Oct 2021 01:52:09 +0200 Subject: [PATCH] fromPreserve: fix conversion of literals in tuples --- src/preserves.nim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/preserves.nim b/src/preserves.nim index 63be625..e3b74d7 100644 --- a/src/preserves.nim +++ b/src/preserves.nim @@ -874,7 +874,8 @@ proc fromPreserve*[T, E](v: var T; pr: Preserve[E]): bool = pr == lit else: fromPreserve(val, pr) - when T.hasCustomPragma(preservesRecord): + when T.hasCustomPragma(unpreservable): {.fatal: "unpreservable type " & $T.} + elif T.hasCustomPragma(preservesRecord): if pr.isRecord and pr.label.isSymbol(T.getCustomPragmaVal(preservesRecord)): result = true var i: int @@ -897,7 +898,7 @@ proc fromPreserve*[T, E](v: var T; pr: Preserve[E]): bool = inc j else: if result and i < pr.len: - result = result and fromPreserve(field, pr.sequence[i]) + result = result and fieldFromPreserve(name, field, pr.sequence[i]) inc i result = result and (i == pr.len) elif T.hasCustomPragma(preservesDictionary):