fixes #20089; remove setPointer since strings/seqs are not pointers anymore
This commit is contained in:
parent
3d5f10f0d0
commit
1c39af3389
2 changed files with 22 additions and 2 deletions
|
|
@ -163,7 +163,10 @@ proc loadAny(p: var JsonParser, a: Any, t: var Table[BiggestInt, pointer]) =
|
|||
of akSequence:
|
||||
case p.kind
|
||||
of jsonNull:
|
||||
setPointer(a, nil)
|
||||
when defined(nimSeqsV2):
|
||||
invokeNewSeq(a, 0)
|
||||
else:
|
||||
setPointer(a, nil)
|
||||
next(p)
|
||||
of jsonArrayStart:
|
||||
next(p)
|
||||
|
|
@ -230,7 +233,10 @@ proc loadAny(p: var JsonParser, a: Any, t: var Table[BiggestInt, pointer]) =
|
|||
of akString:
|
||||
case p.kind
|
||||
of jsonNull:
|
||||
setPointer(a, nil)
|
||||
when defined(nimSeqsV2):
|
||||
setString(a, "")
|
||||
else:
|
||||
setPointer(a, nil)
|
||||
next(p)
|
||||
of jsonString:
|
||||
setString(a, p.str)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
discard """
|
||||
matrix: "--mm:orc; --mm:refc"
|
||||
"""
|
||||
|
||||
import std/marshal
|
||||
|
||||
# TODO: add static tests
|
||||
|
|
@ -136,6 +140,16 @@ block:
|
|||
let test = to[LegacyEntry](str)
|
||||
doAssert $test == """(numeric: "")"""
|
||||
|
||||
block:
|
||||
let str = """{"numeric": null}"""
|
||||
|
||||
type
|
||||
LegacyEntry = object
|
||||
numeric: seq[int]
|
||||
|
||||
var test = to[LegacyEntry](str)
|
||||
doAssert $test == """(numeric: @[])"""
|
||||
|
||||
# bug #16022
|
||||
block:
|
||||
let p: proc (): string = proc (): string = "hello world"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue