diff --git a/preserves.nimble b/preserves.nimble index 7363ada..7f6711d 100644 --- a/preserves.nimble +++ b/preserves.nimble @@ -1,6 +1,6 @@ # Package -version = "20240206" +version = "20240208" 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 5ccdf5a..a1b3dfa 100644 --- a/src/preserves/preserves_schema_nim.nim +++ b/src/preserves/preserves_schema_nim.nim @@ -930,10 +930,15 @@ proc collectRefImports(imports: var StringSet; loc: Location; pat: Pattern) proc collectRefImports(imports: var StringSet; loc: Location; sp: SimplePattern) = case sp.orKind + of SimplePatternKind.seqof: + collectRefImports(imports, loc, sp.seqof.pattern) of SimplePatternKind.setof: incl(imports, "std/sets") + collectRefImports(imports, loc, sp.setof.pattern) of SimplePatternKind.dictof: incl(imports, "std/tables") + collectRefImports(imports, loc, sp.dictof.key) + collectRefImports(imports, loc, sp.dictof.value) of SimplePatternKind.Ref: if sp.ref.module != @[] and sp.ref.module != loc.schemaPath: incl(imports, string sp.ref.module[0])