mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 01:14:41 +00:00
Fix VM conversion to var type [bugfix] (#11866)
(cherry picked from commit 829f719670)
This commit is contained in:
committed by
narimiran
parent
52bdb1adc7
commit
ad623d138d
@@ -401,7 +401,7 @@ proc opConv(c: PCtx; dest: var TFullReg, src: TFullReg, desttyp, srctyp: PType):
|
||||
else:
|
||||
internalError(c.config, "cannot convert to string " & desttyp.typeToString)
|
||||
else:
|
||||
case skipTypes(desttyp, abstractRange).kind
|
||||
case skipTypes(desttyp, abstractVarRange).kind
|
||||
of tyInt..tyInt64:
|
||||
if dest.kind != rkInt:
|
||||
myreset(dest); dest.kind = rkInt
|
||||
@@ -439,7 +439,7 @@ proc opConv(c: PCtx; dest: var TFullReg, src: TFullReg, desttyp, srctyp: PType):
|
||||
else:
|
||||
dest.floatVal = src.floatVal
|
||||
of tyObject:
|
||||
if srctyp.skipTypes(abstractRange).kind != tyObject:
|
||||
if srctyp.skipTypes(abstractVarRange).kind != tyObject:
|
||||
internalError(c.config, "invalid object-to-object conversion")
|
||||
# A object-to-object conversion is essentially a no-op
|
||||
moveConst(dest, src)
|
||||
|
||||
@@ -65,3 +65,8 @@ static:
|
||||
initBase(SomeBaseObj(ifb2))
|
||||
echo repr(ifb2)
|
||||
doAssert(ifb2.txt == "Initialized string from base")
|
||||
|
||||
static: # issue #11861
|
||||
var ifb2: InheritedFromBase
|
||||
initBase(ifb2)
|
||||
doAssert(ifb2.txt == "Initialized string from base")
|
||||
|
||||
Reference in New Issue
Block a user