fix #15916 (#15917) [backport]

* fix #15916

* add testcase for #15916

* add comments
This commit is contained in:
flywind
2020-11-12 16:31:35 +08:00
committed by GitHub
parent 7d4f70280e
commit 402df0b061
2 changed files with 20 additions and 2 deletions

View File

@@ -592,8 +592,10 @@ proc getRoutineBody(n: PNode): PNode =
(0 or more) doc comments and runnableExamples.
]##
result = n[bodyPos]
if result.kind == nkAsgn and n.len > bodyPos+1 and n[bodyPos+1].kind == nkSym:
doAssert result[0].kind == nkSym
# This won't be transformed: result.id = 10. Namely result[0].kind != nkSym.
if result.kind == nkAsgn and result[0].kind == nkSym and
n.len > bodyPos+1 and n[bodyPos+1].kind == nkSym:
doAssert result.len == 2
result = result[1]

16
tests/nimdoc/t15916.nim Normal file
View File

@@ -0,0 +1,16 @@
discard """
cmd: "nim doc --hints:off $file"
action: "compile"
joinable: false
"""
type
Test* = object
id: int
proc initTest*(id: int): Test =
result.id = id
proc hello*() =
runnableExamples:
discard