Don't report unused hints for consumed AST (#18270)

* Fix #18203

* Add testcase

* Fix testcase

* Fix test
This commit is contained in:
Clyybber
2021-06-16 02:45:05 +02:00
committed by GitHub
parent d3b27eb63e
commit c5cf21c0c4
2 changed files with 18 additions and 1 deletions

View File

@@ -364,7 +364,9 @@ proc openShadowScope*(c: PContext) =
proc closeShadowScope*(c: PContext) =
## closes the shadow scope, but doesn't merge any of the symbols
c.closeScope
## Does not check for unused symbols or missing forward decls since a macro
## or template consumes this AST
rawCloseScope(c)
proc mergeShadowScope*(c: PContext) =
## close the existing scope and merge in all defined symbols, this will also

15
tests/macros/t18203.nim Normal file
View File

@@ -0,0 +1,15 @@
discard """
matrix: "--hint:SuccessX:off --hint:Link:off --hint:Conf:off --hint:CC:off --hint:XDeclaredButNotUsed:on"
nimout: '''
'''
nimoutFull: true
action: compile
"""
# bug #18203
import std/macros
macro foo(x: typed) = newProc ident"bar"
proc bar() {.foo.} = raise
bar()