fix #15916 (#15917) [backport]

* fix #15916

* add testcase for #15916

* add comments

(cherry picked from commit 402df0b061)
This commit is contained in:
flywind
2020-11-12 16:31:35 +08:00
committed by narimiran
parent 48e5520894
commit 23ea176cb2
2 changed files with 20 additions and 2 deletions

View File

@@ -591,8 +591,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