close #11415; add testcase (#20486)

(cherry picked from commit 852a7c4919)
This commit is contained in:
ringabout
2022-10-03 16:37:27 +08:00
committed by narimiran
parent 0cf39669df
commit ebd6619aaa

View File

@@ -423,6 +423,31 @@ when false:
doAssert hasMyAttr(TObj)
# bug #11415
template noserialize() {.pragma.}
type
Point[T] = object
x, y: T
ReplayEventKind = enum
FoodAppeared, FoodEaten, DirectionChanged
ReplayEvent = object
case kind: ReplayEventKind
of FoodEaten, FoodAppeared: # foodPos is in multiple branches
foodPos {.noserialize.}: Point[float]
of DirectionChanged:
playerPos: float
let ev = ReplayEvent(
kind: FoodEaten,
foodPos: Point[float](x: 5.0, y: 1.0)
)
doAssert ev.foodPos.hasCustomPragma(noserialize)
when false:
# misc
{.pragma: haha.}