diff options
author | Bung <crc32@qq.com> | 2023-05-23 15:39:44 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-23 09:39:44 +0200 |
commit | 76a98fee650228306a6b1af72e64bb83a9473ef0 (patch) | |
tree | 118426f25bd63b55078b8ba889f294069f3b35cc /lib/pure/collections/tableimpl.nim | |
parent | d696ef5ad7cefdde044bce0277fac172de0f56ea (diff) | |
download | Nim-76a98fee650228306a6b1af72e64bb83a9473ef0.tar.gz |
fix #21251 Compiler SIGSEGV when using SharedTable (#21876)
fix #21251
Diffstat (limited to 'lib/pure/collections/tableimpl.nim')
-rw-r--r-- | lib/pure/collections/tableimpl.nim | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/pure/collections/tableimpl.nim b/lib/pure/collections/tableimpl.nim index 81079a3d1..fa06b9923 100644 --- a/lib/pure/collections/tableimpl.nim +++ b/lib/pure/collections/tableimpl.nim @@ -11,6 +11,9 @@ include hashcommon +const + defaultInitialSize* = 32 + template rawGetDeepImpl() {.dirty.} = # Search algo for unconditional add genHashImpl(key, hc) var h: Hash = hc and maxHash(t) @@ -31,9 +34,8 @@ proc rawInsert[X, A, B](t: var X, data: var KeyValuePairSeq[A, B], rawInsertImpl() template checkIfInitialized() = - when compiles(defaultInitialSize): - if t.dataLen == 0: - initImpl(t, defaultInitialSize) + if t.dataLen == 0: + initImpl(t, defaultInitialSize) template addImpl(enlarge) {.dirty.} = checkIfInitialized() |