diff options
author | Araq <rumpf_a@web.de> | 2018-12-22 18:37:14 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2018-12-22 18:39:20 +0100 |
commit | bdb67201b2713a4045167fd8feb407df98a43997 (patch) | |
tree | 3745f822e1eda2e93c43f8810bef451d53383611 /compiler | |
parent | 253936385143cb9d58f565dee0f1b5768accc81e (diff) | |
download | Nim-bdb67201b2713a4045167fd8feb407df98a43997.tar.gz |
fixes #10033 [backport]
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/ccgtypes.nim | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/ccgtypes.nim b/compiler/ccgtypes.nim index 235bd16d8..243aa87de 100644 --- a/compiler/ccgtypes.nim +++ b/compiler/ccgtypes.nim @@ -970,9 +970,9 @@ proc genTypeInfoAux(m: BModule, typ, origType: PType, name: Rope; proc discriminatorTableName(m: BModule, objtype: PType, d: PSym): Rope = # bugfix: we need to search the type that contains the discriminator: - var objtype = objtype + var objtype = objtype.skipTypes(abstractPtrs) while lookupInRecord(objtype.n, d.name) == nil: - objtype = objtype.sons[0] + objtype = objtype.sons[0].skipTypes(abstractPtrs) if objtype.sym == nil: internalError(m.config, d.info, "anonymous obj with discriminator") result = "NimDT_$1_$2" % [rope($hashType(objtype)), rope(d.name.s.mangle)] |