diff options
author | cooldome <cdome@bk.ru> | 2020-05-06 23:13:59 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-07 00:13:59 +0200 |
commit | 0d8507cd3da4f8c5ec3d7a627bb2c8918ff804c8 (patch) | |
tree | a18e5cc31befee0e9e087a62089e3da5a9a890b9 /compiler | |
parent | 6dba06f9e63083d4cbcd09b10aaf2342b70821b0 (diff) | |
download | Nim-0d8507cd3da4f8c5ec3d7a627bb2c8918ff804c8.tar.gz |
fix #14236 (#14250)
Co-authored-by: cooldome <ariabushenko@bk.ru>
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/liftdestructors.nim | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/liftdestructors.nim b/compiler/liftdestructors.nim index f2a7ba3c9..6f4e5828d 100644 --- a/compiler/liftdestructors.nim +++ b/compiler/liftdestructors.nim @@ -764,11 +764,11 @@ proc fillBody(c: var TLiftCtx; t: PType; body, x, y: PNode) = of tyFromExpr, tyProxy, tyBuiltInTypeClass, tyUserTypeClass, tyUserTypeClassInst, tyCompositeTypeClass, tyAnd, tyOr, tyNot, tyAnything, tyGenericParam, tyGenericBody, tyNil, tyUntyped, tyTyped, - tyTypeDesc, tyGenericInvocation, tyForward: + tyTypeDesc, tyGenericInvocation, tyForward, tyStatic: #internalError(c.g.config, c.info, "assignment requested for type: " & typeToString(t)) discard of tyOrdinal, tyRange, tyInferred, - tyGenericInst, tyStatic, tyAlias, tySink: + tyGenericInst, tyAlias, tySink: fillBody(c, lastSon(t), body, x, y) proc produceSymDistinctType(g: ModuleGraph; c: PContext; typ: PType; @@ -916,7 +916,7 @@ proc createTypeBoundOps(g: ModuleGraph; c: PContext; orig: PType; info: TLineInf incl orig.flags, tfCheckedForDestructor let skipped = orig.skipTypes({tyGenericInst, tyAlias, tySink}) - if isEmptyContainer(skipped): return + if isEmptyContainer(skipped) or skipped.kind == tyStatic: return let h = sighashes.hashType(skipped, {CoType, CoConsiderOwned, CoDistinct}) var canon = g.canonTypes.getOrDefault(h) |