mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-06 04:57:49 +00:00
Fixes #1005
This commit is contained in:
@@ -1060,6 +1060,8 @@ proc genObjConstr(p: BProc, e: PNode, d: var TLoc) =
|
||||
t = t.sons[0].skipTypes(abstractInst)
|
||||
r = ropef("(*$1)", r)
|
||||
gcUsage(e)
|
||||
else:
|
||||
constructLoc(p, tmp)
|
||||
discard getTypeDesc(p.module, t)
|
||||
for i in 1 .. <e.len:
|
||||
let it = e.sons[i]
|
||||
@@ -1082,6 +1084,7 @@ proc genObjConstr(p: BProc, e: PNode, d: var TLoc) =
|
||||
tmp2.s = if isRef: OnHeap else: OnStack
|
||||
tmp2.heapRoot = tmp.r
|
||||
expr(p, it.sons[1], tmp2)
|
||||
|
||||
if d.k == locNone:
|
||||
d = tmp
|
||||
else:
|
||||
|
||||
@@ -1,16 +1,21 @@
|
||||
discard """
|
||||
output: '''0
|
||||
output: '''0 0
|
||||
pre test a:test b:1 c:2 haha:3
|
||||
assignment test a:test b:1 c:2 haha:3
|
||||
'''
|
||||
"""
|
||||
|
||||
type TSomeObj = object of TObject
|
||||
Variable: int
|
||||
# bug #1005
|
||||
|
||||
type
|
||||
TSomeObj = object of TObject
|
||||
a: int
|
||||
PSomeObj = ref object
|
||||
a: int
|
||||
|
||||
var a = TSomeObj()
|
||||
|
||||
echo a.Variable.`$`
|
||||
var b = PSomeObj()
|
||||
echo a.a, " ", b.a
|
||||
|
||||
# bug #575
|
||||
|
||||
|
||||
Reference in New Issue
Block a user