* fix #10339 by checking for nkObjConstr * revert check for nkObjConstr, return type from nkEmpty node The correct type needed in `semObjConstr` to fix #10339 is indeed available, but attached to an `nkEmpty` node. These were previously discarded in `semTypeNode`, which is used to extract the type for the object. * simplify return of PType from `nkEmpty` * also fixes #9866, add test case
This commit is contained in:
parent
efa4b9adaa
commit
d9ee377517
3 changed files with 33 additions and 1 deletions
|
|
@ -4,6 +4,7 @@ output: '''
|
|||
Hallo Welt
|
||||
Hallo Welt
|
||||
1
|
||||
()
|
||||
'''
|
||||
"""
|
||||
|
||||
|
|
@ -34,3 +35,17 @@ macro t(): untyped =
|
|||
t()
|
||||
|
||||
echo tp()
|
||||
|
||||
|
||||
# https://github.com/nim-lang/Nim/issues/9866
|
||||
type
|
||||
# Foo = int # works
|
||||
Foo = object # fails
|
||||
|
||||
macro dispatchGen(): untyped =
|
||||
var shOpt: Foo
|
||||
result = quote do:
|
||||
let baz = `shOpt`
|
||||
echo `shOpt`
|
||||
|
||||
dispatchGen()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue