fix nim devel error: 'result' requires explicit initialization
This commit is contained in:
parent
bddc539012
commit
5b7cea55ef
|
@ -3,5 +3,6 @@ tests/test_all
|
|||
nimble.develop
|
||||
nimble.paths
|
||||
build/
|
||||
vendor/
|
||||
|
||||
*.exe
|
||||
|
|
|
@ -26,6 +26,8 @@ template encode*(Format: type, value: auto, params: varargs[untyped]): auto =
|
|||
{.push warning[ProveInit]: off.}
|
||||
proc readValue*(reader: var auto, T: type): T =
|
||||
mixin readValue
|
||||
when (NimMajor, NimMinor) > (1, 6):
|
||||
result = default(T)
|
||||
reader.readValue(result)
|
||||
{.pop.}
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import
|
||||
test_object_serialization
|
||||
test_object_serialization,
|
||||
test_reader
|
||||
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
import
|
||||
unittest2,
|
||||
../serialization
|
||||
|
||||
{.used.}
|
||||
|
||||
type
|
||||
TestObj = object
|
||||
number: int
|
||||
|
||||
XyzReader = object
|
||||
|
||||
proc readValue(r: XyzReader, val: var TestObj) =
|
||||
val.number = 13
|
||||
|
||||
proc init(T: type XyzReader, stream: InputStream): T =
|
||||
XyzReader()
|
||||
|
||||
serializationFormat Xyz
|
||||
Xyz.setReader XyzReader
|
||||
|
||||
suite "object serialization":
|
||||
test "readValue":
|
||||
let z = Xyz.decode("", TestObj)
|
||||
check z.number == 13
|
||||
|
||||
var r: XyzReader
|
||||
let x = r.readValue(TestObj)
|
||||
check x.number == 13
|
Loading…
Reference in New Issue