Nim/tests/ccgbugs/tctypes.nim
2021-09-14 19:39:55 +02:00

43 lines
825 B
Nim

discard """
targets: "c cpp"
matrix: "--gc:refc; --gc:arc"
"""
# bug #7308
proc foo(x: seq[int32]) =
var y = newSeq[cint](1)
proc bar =
var t = newSeq[int32](1)
foo(t)
bar()
# bug #16246
proc testWeirdTypeAliases() =
var values = newSeq[cuint](8)
# var values: seq[cuint] does not produce codegen error
var drawCb = proc(): seq[uint32] =
result = newSeq[uint32](10)
testWeirdTypeAliases()
block: # bug #11797
block:
type cdouble2 = cdouble
type Foo1 = seq[cdouble]
type Foo2 = seq[cdouble2]
static: doAssert Foo1 is Foo2
var a1: Foo1
var a2: Foo2
doAssert a1 == @[]
doAssert a2 == @[]
block:
proc foo[T: int|cint](fun: proc(): T) = discard
proc foo1(): cint = 1
proc foo3(): int32 = 2
foo(proc(): cint = foo1())
foo(proc(): int32 = foo3())