aboutsummaryrefslogtreecommitdiff
path: root/src/stdlib/tables.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stdlib/tables.c')
-rw-r--r--src/stdlib/tables.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/stdlib/tables.c b/src/stdlib/tables.c
index c374f26f..061c3391 100644
--- a/src/stdlib/tables.c
+++ b/src/stdlib/tables.c
@@ -559,13 +559,12 @@ PUREFUNC public uint64_t Table$hash(const void *obj, const TypeInfo_t *type)
volatile struct {
int64_t length;
- uint64_t keys_hash, values_hash;
- Table_t *fallback;
+ uint64_t keys_hash, values_hash, fallback_hash;
} components = {
t->entries.length,
keys_hash,
values_hash,
- t->fallback,
+ t->fallback ? Table$hash(t->fallback, type) : 0,
};
t->hash = siphash24((void*)&components, sizeof(components));
if unlikely (t->hash == 0)