diff options
-rw-r--r-- | compiler/types.nim | 2 | ||||
-rw-r--r-- | tests/tuples/twrong_generic_caching.nim | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/compiler/types.nim b/compiler/types.nim index a87f9470f..5fbab85b9 100644 --- a/compiler/types.nim +++ b/compiler/types.nim @@ -803,6 +803,8 @@ proc sameTuple(a, b: PType, c: var TSameTypeClosure): bool = result = x.name.id == y.name.id if not result: break else: internalError(a.n.info, "sameTuple") + elif a.n != b.n and (a.n == nil or b.n == nil) and IgnoreTupleFields notin c.flags: + result = false template ifFastObjectTypeCheckFailed(a, b: PType, body: stmt) {.immediate.} = if tfFromGeneric notin a.flags + b.flags: diff --git a/tests/tuples/twrong_generic_caching.nim b/tests/tuples/twrong_generic_caching.nim new file mode 100644 index 000000000..32ef344d2 --- /dev/null +++ b/tests/tuples/twrong_generic_caching.nim @@ -0,0 +1,4 @@ + +import parsecfg + +import asynchttpserver |