From b67e6f089bb7d579d30262d5994389cf5abce7eb Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Mon, 1 Jan 2024 14:11:50 +0200 Subject: [PATCH] preserves_schema_nim: always mark embedded fields --- preserves.nimble | 2 +- src/preserves/preserves_schema_nim.nim | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/preserves.nimble b/preserves.nimble index 907ad9a..552f02f 100644 --- a/preserves.nimble +++ b/preserves.nimble @@ -1,6 +1,6 @@ # Package -version = "20231230" +version = "20240101" author = "Emery Hemingway" description = "data model and serialization format" license = "Unlicense" diff --git a/src/preserves/preserves_schema_nim.nim b/src/preserves/preserves_schema_nim.nim index 778c9a8..3d32a55 100644 --- a/src/preserves/preserves_schema_nim.nim +++ b/src/preserves/preserves_schema_nim.nim @@ -126,11 +126,6 @@ proc deref(loc: Location; r: Ref): (Location, Definition) = except KeyError: raise newException(KeyError, "reference not found in bundle: " & $r) -proc hasEmbeddedType(scm: Schema): bool = - case scm.field0.embeddedType.orKind - of EmbeddedtypenameKind.false: false - of EmbeddedtypenameKind.Ref: true - proc hash(r: Ref): Hash = r.toPreserves.hash type RefSet = HashSet[Ref] @@ -611,7 +606,7 @@ proc addField(recList: PNode; loc: Location; known: var TypeTable; sp: SimplePat ident"preservesLiteral", toStrLit(loc, sp)))) recList.add identDef(scm, id, TypeSpec(node: ident"tuple[]")) - elif sp.orKind == SimplePatternKind.embedded and not scm.hasEmbeddedType: + elif sp.orKind == SimplePatternKind.embedded: let id = nkPragmaExpr.newTree( id, nkPragma.newTree(ident"preservesEmbedded")) recList.add identDef(scm, id, nimTypeOf(loc, known, "", sp))