commit
fc735e4b08
3 changed files with 35 additions and 1 deletions
|
|
@ -327,7 +327,10 @@ proc setPointer*(x: Any, y: pointer) =
|
||||||
## ``akString``, ``akCString``, ``akProc``, ``akRef``, ``akPtr``,
|
## ``akString``, ``akCString``, ``akProc``, ``akRef``, ``akPtr``,
|
||||||
## ``akPointer``, ``akSequence``.
|
## ``akPointer``, ``akSequence``.
|
||||||
assert x.rawType.kind in pointerLike
|
assert x.rawType.kind in pointerLike
|
||||||
genericAssign(x.value, y, x.rawType)
|
if y != nil:
|
||||||
|
genericAssign(x.value, y, x.rawType)
|
||||||
|
else:
|
||||||
|
cast[ppointer](x.value)[] = nil
|
||||||
|
|
||||||
proc fieldsAux(p: pointer, n: ptr TNimNode,
|
proc fieldsAux(p: pointer, n: ptr TNimNode,
|
||||||
ret: var seq[tuple[name: cstring, any: Any]]) =
|
ret: var seq[tuple[name: cstring, any: Any]]) =
|
||||||
|
|
|
||||||
6
tests/stdlib/t9754.nim
Normal file
6
tests/stdlib/t9754.nim
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
discard """
|
||||||
|
joinable: false
|
||||||
|
"""
|
||||||
|
|
||||||
|
import tmarshal
|
||||||
|
import tparsesql
|
||||||
|
|
@ -4,6 +4,9 @@ true
|
||||||
true
|
true
|
||||||
alpha 100
|
alpha 100
|
||||||
omega 200
|
omega 200
|
||||||
|
Some(null)
|
||||||
|
None[JsonNode]
|
||||||
|
(numeric: "")
|
||||||
'''
|
'''
|
||||||
joinable: false
|
joinable: false
|
||||||
"""
|
"""
|
||||||
|
|
@ -123,3 +126,25 @@ var foo = Foo(a2: "", a4: @[], a6: @[1])
|
||||||
foo.a6.setLen 0
|
foo.a6.setLen 0
|
||||||
doAssert $$foo == """{"a1": "", "a2": "", "a3": [], "a4": [], "a5": [], "a6": []}"""
|
doAssert $$foo == """{"a1": "", "a2": "", "a3": [], "a4": [], "a5": [], "a6": []}"""
|
||||||
testit(foo)
|
testit(foo)
|
||||||
|
|
||||||
|
import options, json
|
||||||
|
|
||||||
|
# bug #15934
|
||||||
|
block:
|
||||||
|
let
|
||||||
|
a1 = some(newJNull())
|
||||||
|
a2 = none(JsonNode)
|
||||||
|
echo ($$a1).to[:Option[JsonNode]]
|
||||||
|
echo ($$a2).to[:Option[JsonNode]]
|
||||||
|
|
||||||
|
|
||||||
|
# bug #15620
|
||||||
|
block:
|
||||||
|
let str = """{"numeric": null}"""
|
||||||
|
|
||||||
|
type
|
||||||
|
LegacyEntry = object
|
||||||
|
numeric: string
|
||||||
|
|
||||||
|
let test = to[LegacyEntry](str)
|
||||||
|
echo test
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue