Smarter variant object construction (#11273)
This commit is contained in:
parent
16aa10dfe1
commit
f774426095
9 changed files with 333 additions and 15 deletions
17
tests/objvariant/trt_discrim_err0.nim
Normal file
17
tests/objvariant/trt_discrim_err0.nim
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
discard """
|
||||
errormsg: "possible values {k1, k3, k4} are in conflict with discriminator values for selected object branch 3"
|
||||
line: 17
|
||||
"""
|
||||
|
||||
type
|
||||
Kind = enum k1, k2, k3, k4, k5
|
||||
KindObj = object
|
||||
case kind: Kind
|
||||
of k1, k2..k3: i32: int32
|
||||
of k4: f32: float32
|
||||
else: str: string
|
||||
|
||||
let kind = k3
|
||||
case kind
|
||||
of k2: discard KindObj(kind: kind, i32: 1)
|
||||
else: discard KindObj(kind: kind, str: "3")
|
||||
Loading…
Add table
Add a link
Reference in a new issue