mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 08:54:53 +00:00
fixes yet another gensym regression (#12145)
This commit is contained in:
@@ -251,15 +251,15 @@ proc semTemplSymbol(c: PContext, n: PNode, s: PSym; isField: bool): PNode =
|
||||
of OverloadableSyms:
|
||||
result = symChoice(c, n, s, scOpen, isField)
|
||||
of skGenericParam:
|
||||
if isField: result = n
|
||||
if isField and sfGenSym in s.flags: result = n
|
||||
else: result = newSymNodeTypeDesc(s, n.info)
|
||||
of skParam:
|
||||
result = n
|
||||
of skType:
|
||||
if isField: result = n
|
||||
if isField and sfGenSym in s.flags: result = n
|
||||
else: result = newSymNodeTypeDesc(s, n.info)
|
||||
else:
|
||||
if isField: result = n
|
||||
if isField and sfGenSym in s.flags: result = n
|
||||
else: result = newSymNode(s, n.info)
|
||||
|
||||
proc semRoutineInTemplName(c: var TemplCtx, n: PNode): PNode =
|
||||
|
||||
@@ -40,15 +40,15 @@ doAssert y.x == "abc"
|
||||
import macros
|
||||
|
||||
static:
|
||||
let sym1 = genSym()
|
||||
let sym2 = genSym()
|
||||
let sym3 = sym1
|
||||
let sym1 = genSym()
|
||||
let sym2 = genSym()
|
||||
let sym3 = sym1
|
||||
let nimsym = sym1.symbol
|
||||
doAssert sym1 == sym1
|
||||
doAssert sym2 != sym3
|
||||
doAssert sym1 == sym1
|
||||
doAssert sym2 != sym3
|
||||
doAssert sym2.symbol != sym3.symbol
|
||||
doAssert sym3 == sym1
|
||||
doAssert sym3 == sym1
|
||||
doAssert sym1.symbol == sym1.symbol
|
||||
doAssert nimsym == nimsym
|
||||
doAssert nimsym == nimsym
|
||||
|
||||
echo "true"
|
||||
|
||||
@@ -7,4 +7,18 @@ template templ*(): int =
|
||||
bind gx, gy
|
||||
gx + gy
|
||||
|
||||
import json
|
||||
|
||||
const
|
||||
codeField = "foobar"
|
||||
messageField = "more"
|
||||
|
||||
template trap*(path: string, body: untyped): untyped =
|
||||
#bind codeField, messageField
|
||||
try:
|
||||
body
|
||||
except:
|
||||
let msg = getCurrentExceptionMsg()
|
||||
#debug "Error occurred within RPC ", path = path, errorMessage = msg
|
||||
result = %*{codeField: "SERVER_ERROR", messageField: msg}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ a
|
||||
hi
|
||||
Hello, World!
|
||||
(e: 42)
|
||||
hey
|
||||
'''
|
||||
"""
|
||||
|
||||
@@ -235,3 +236,12 @@ var
|
||||
x = X.fails(42)
|
||||
|
||||
echo x
|
||||
|
||||
import mtempl5
|
||||
|
||||
|
||||
proc foo(): auto =
|
||||
trap "foo":
|
||||
echo "hey"
|
||||
|
||||
discard foo()
|
||||
|
||||
Reference in New Issue
Block a user