@@ -48,11 +48,11 @@ template decodeImpl[InputType](
48
48
# past any usage in the unsafe memory input - crucially, proc parameters are
49
49
# also compatible with `openArray`
50
50
type ReturnType = instantiate(RecordType)
51
- proc decodeImpl(
51
+ # TODO `proc decodeProc .. {.gensym.} causes duplicate symbols
52
+ let decodeProc = proc(
52
53
input: InputType
53
54
): ReturnType {.
54
55
nimcall,
55
- gensym,
56
56
raises: [SerializationError],
57
57
forward: (params),
58
58
noxcannotraisey,
@@ -86,27 +86,30 @@ template decodeImpl[InputType](
86
86
else:
87
87
raiseAssert "memory input doesn't raise IOError"
88
88
89
- unpackForwarded(decodeImpl , [inputParam, params])
89
+ unpackForwarded(decodeProc , [inputParam, params])
90
90
91
91
template decode*(
92
92
Format: type SerializationFormat,
93
93
inputParam: string ,
94
94
RecordType: type ,
95
- params: varargs [untyped ]): auto =
95
+ params: varargs [untyped ],
96
+ ): auto =
96
97
decodeImpl(Format, inputParam, RecordType, params)
97
98
98
99
template decode*(
99
100
Format: type SerializationFormat,
100
101
inputParam: openArray [char ],
101
102
RecordType: type ,
102
- params: varargs [untyped ]): auto =
103
+ params: varargs [untyped ],
104
+ ): auto =
103
105
decodeImpl(Format, inputParam, RecordType, params)
104
106
105
107
template decode*(
106
108
Format: type SerializationFormat,
107
109
inputParam: openArray [byte ],
108
110
RecordType: type ,
109
- params: varargs [untyped ]): auto =
111
+ params: varargs [untyped ],
112
+ ): auto =
110
113
# TODO, this is duplicated only due to a Nim bug:
111
114
# If `input` was `string|openArray[byte]`, it won't match `seq[byte]`
112
115
decodeImpl(Format, inputParam, RecordType, params)
0 commit comments