* fixes #9297

* improve spacing
This commit is contained in:
cooldome
2018-10-11 08:54:50 +01:00
committed by Andreas Rumpf
parent a58c982a49
commit 7a5b614edc
4 changed files with 50 additions and 11 deletions

View File

@@ -1,6 +1,8 @@
discard """
file: "tcgbug.nim"
output: "success"
output: '''success
M1 M2
'''
"""
type
@@ -36,3 +38,41 @@ type
var k = PFuture[void]()
##bug #9297
import strutils
type
MyKind = enum
M1, M2, M3
MyObject {.exportc: "ExtObject"} = object
case kind: MyKind
of M1: a:int
of M2: b:float
of M3: c:cstring
MyObjectRef {.exportc: "ExtObject2"} = ref object
case kind: MyKind
of M1: a:int
of M2: b:float
of M3: c:cstring
proc newMyObject(kind: MyKind, val: string): MyObject =
result.kind = kind
case kind
of M1: result.a = parseInt(val)
of M2: result.b = parseFloat(val)
of M3: result.c = val
proc newMyObjectRef(kind: MyKind, val: string): MyObjectRef =
new(result)
result.kind = kind
case kind
of M1: result.a = parseInt(val)
of M2: result.b = parseFloat(val)
of M3: result.c = val
echo newMyObject(M1, "2").kind, " ", newMyObjectRef(M2, "3").kind