mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 08:54:53 +00:00
`semProcAux` has a check for `checkMinSonsLen(n, bodyPos + 1)`
This commit is contained in:
@@ -2303,7 +2303,6 @@ proc semMethod(c: PContext, n: PNode): PNode =
|
||||
|
||||
proc semConverterDef(c: PContext, n: PNode): PNode =
|
||||
if not isTopLevel(c): localError(c.config, n.info, errXOnlyAtModuleScope % "converter")
|
||||
checkSonsLen(n, bodyPos + 1, c.config)
|
||||
result = semProcAux(c, n, skConverter, converterPragmas)
|
||||
# macros can transform converters to nothing:
|
||||
if namePos >= result.safeLen: return result
|
||||
@@ -2318,7 +2317,6 @@ proc semConverterDef(c: PContext, n: PNode): PNode =
|
||||
addConverterDef(c, LazySym(sym: s))
|
||||
|
||||
proc semMacroDef(c: PContext, n: PNode): PNode =
|
||||
checkSonsLen(n, bodyPos + 1, c.config)
|
||||
result = semProcAux(c, n, skMacro, macroPragmas)
|
||||
# macros can transform macros to nothing:
|
||||
if namePos >= result.safeLen: return result
|
||||
|
||||
22
tests/macros/t15691.nim
Normal file
22
tests/macros/t15691.nim
Normal file
@@ -0,0 +1,22 @@
|
||||
discard """
|
||||
action: compile
|
||||
"""
|
||||
|
||||
import std/macros
|
||||
|
||||
macro simplifiedExpandMacros(body: typed): untyped =
|
||||
result = body
|
||||
|
||||
simplifiedExpandMacros:
|
||||
proc testProc() = discard
|
||||
|
||||
simplifiedExpandMacros:
|
||||
template testTemplate(): untyped = discard
|
||||
|
||||
# Error: illformed AST: macro testMacro(): untyped =
|
||||
simplifiedExpandMacros:
|
||||
macro testMacro(): untyped = discard
|
||||
|
||||
# Error: illformed AST: converter testConverter(x: int): float =
|
||||
simplifiedExpandMacros:
|
||||
converter testConverter(x: int): float = discard
|
||||
Reference in New Issue
Block a user