Use a cast to suppress KeyError raises (#21451)

This commit is contained in:
Antonis Geralis 2023-02-28 15:17:21 +02:00 • committed by GitHub
commit 83e3320725
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -465,11 +465,12 @@ proc `==`*(a, b: JsonNode): bool {.noSideEffect.} =
if a.fields.len != b.fields.len: return false if a.fields.len != b.fields.len: return false
for key, val in a.fields: for key, val in a.fields:
if not b.fields.hasKey(key): return false if not b.fields.hasKey(key): return false
when defined(nimHasEffectsOf): {.cast(raises: []).}:
{.noSideEffect.}: when defined(nimHasEffectsOf):
{.noSideEffect.}:
if b.fields[key] != val: return false
else:
if b.fields[key] != val: return false if b.fields[key] != val: return false
else:
if b.fields[key] != val: return false
result = true result = true
proc hash*(n: OrderedTable[string, JsonNode]): Hash {.noSideEffect.} proc hash*(n: OrderedTable[string, JsonNode]): Hash {.noSideEffect.}