only allow enums to overload enums + extra test (#20126)
mirror behavior without overloadableEnums
This commit is contained in:
parent
86f7f4ffa5
commit
a6189fbb98
2 changed files with 36 additions and 2 deletions
|
|
@ -2798,7 +2798,7 @@ proc enumFieldSymChoice(c: PContext, n: PNode, s: PSym): PNode =
|
|||
var i = 0
|
||||
var a = initOverloadIter(o, c, n)
|
||||
while a != nil:
|
||||
if a.kind in OverloadableSyms-{skModule}:
|
||||
if a.kind == skEnumField:
|
||||
inc(i)
|
||||
if i > 1: break
|
||||
a = nextOverloadIter(o, c, n)
|
||||
|
|
@ -2814,7 +2814,7 @@ proc enumFieldSymChoice(c: PContext, n: PNode, s: PSym): PNode =
|
|||
result = newNodeIT(nkClosedSymChoice, info, newTypeS(tyNone, c))
|
||||
a = initOverloadIter(o, c, n)
|
||||
while a != nil:
|
||||
if a.kind in OverloadableSyms-{skModule}:
|
||||
if a.kind == skEnumField:
|
||||
incl(a.flags, sfUsed)
|
||||
markOwnerModuleAsUsed(c, a)
|
||||
result.add newSymNode(a, info)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue