mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-20 16:01:29 +00:00
fixes #24167
(cherry picked from commit 3b85c1a2e9)
This commit is contained in:
@@ -1258,8 +1258,11 @@ proc getDeclPragma*(n: PNode): PNode =
|
||||
|
||||
proc extractPragma*(s: PSym): PNode =
|
||||
## gets the pragma node of routine/type/var/let/const symbol `s`
|
||||
if s.kind in routineKinds:
|
||||
result = s.ast[pragmasPos]
|
||||
if s.kind in routineKinds: # bug #24167
|
||||
if s.ast[pragmasPos] != nil and s.ast[pragmasPos].kind != nkEmpty:
|
||||
result = s.ast[pragmasPos]
|
||||
else:
|
||||
result = nil
|
||||
elif s.kind in {skType, skVar, skLet, skConst}:
|
||||
if s.ast != nil and s.ast.len > 0:
|
||||
if s.ast[0].kind == nkPragmaExpr and s.ast[0].len > 1:
|
||||
|
||||
@@ -64,3 +64,9 @@ foo31()
|
||||
foo41()
|
||||
|
||||
{.pop.}
|
||||
|
||||
block:
|
||||
{.push deprecated.}
|
||||
template test() = discard
|
||||
test()
|
||||
{.pop.}
|
||||
|
||||
Reference in New Issue
Block a user