Make enums generated for alt-types pure
This commit is contained in:
parent
21052681b6
commit
8a85ff5d52
|
@ -418,10 +418,13 @@ proc typeDef(scm: Schema; name: string; pat: Pattern; ty: PNode): PNode =
|
|||
proc typeDef(scm: Schema; name: string; def: Definition; ty: PNode): PNode =
|
||||
case def.orKind
|
||||
of DefinitionKind.or:
|
||||
let pragma = nn(nkPragma, ident"preservesOr")
|
||||
if isSymbolEnum(scm, def):
|
||||
pragma.add ident"pure"
|
||||
nn(nkTypeDef,
|
||||
nn(nkPragmaExpr,
|
||||
name.ident.accQuote.toExport,
|
||||
nn(nkPragma, ident"preservesOr")),
|
||||
pragma),
|
||||
embeddingParams(isEmbeddable(scm, def)),
|
||||
ty)
|
||||
of DefinitionKind.and:
|
||||
|
|
Loading…
Reference in New Issue