Skip to content

Commit

Permalink
remove restriction in semtempl, test nim-lang#23898
Browse files Browse the repository at this point in the history
  • Loading branch information
metagn committed Aug 20, 2024
1 parent d613c6f commit 8590cb4
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 2 deletions.
4 changes: 2 additions & 2 deletions compiler/semtempl.nim
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,7 @@ proc semTemplBody(c: var TemplCtx, n: PNode): PNode =
result = newSymNode(s, n.info)
onUse(n.info, s)
else:
if s.kind in {skType, skVar, skLet, skConst}:
if s.kind in {skVar, skLet, skConst}:
discard qualifiedLookUp(c.c, n, {checkAmbiguity, checkModule})
result = semTemplSymbol(c.c, n, s, c.noGenSym > 0)
of nkBind:
Expand Down Expand Up @@ -572,7 +572,7 @@ proc semTemplBody(c: var TemplCtx, n: PNode): PNode =
elif contains(c.toMixin, s.name.id):
return symChoice(c.c, n, s, scForceOpen, c.noGenSym > 0)
else:
if s.kind in {skType, skVar, skLet, skConst}:
if s.kind in {skVar, skLet, skConst}:
discard qualifiedLookUp(c.c, n, {checkAmbiguity, checkModule})
return semTemplSymbol(c.c, n, s, c.noGenSym > 0)
if n.kind == nkDotExpr:
Expand Down
1 change: 1 addition & 0 deletions tests/overload/m23898_1.nim
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
type K* = object
4 changes: 4 additions & 0 deletions tests/overload/m23898_2.nim
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import ./m23898_1
export m23898_1
template K*(kind: static int): auto = typedesc[m23898_1.K]
template B*(kind: static int): auto = typedesc[m23898_1.K]
8 changes: 8 additions & 0 deletions tests/overload/t23898.nim
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import ./m23898_2
discard default(B(0)) # compiles
discard default(m23898_2.B(0)) # compiles
discard default(K(0)) # compiles
template r() =
discard default(B(0)) # compiles
discard default(m23898_2.B(0)) # compiles
discard default(K(0)) # does not compile

0 comments on commit 8590cb4

Please sign in to comment.