Nim/tests/destructor/tnewruntime_misc.nim
Andreas Rumpf 212ae2f125 fixes #11891
2019-08-10 15:41:24 +02:00

56 lines
817 B
Nim

discard """
cmd: '''nim cpp --newruntime $file'''
output: '''(field: "value")
Indeed
axc
0 new: 0'''
"""
import core / allocators
import system / ansi_c
import tables
type
Node = ref object
field: string
# bug #11807
import os
putEnv("HEAPTRASHING", "Indeed")
proc main =
var w = newTable[string, owned Node]()
w["key"] = Node(field: "value")
echo w["key"][]
echo getEnv("HEAPTRASHING")
# bug #11891
var x = "abc"
x[1] = 'x'
echo x
main()
# bug #11745
type
Foo = object
bar: seq[int]
var x = [Foo()]
# bug #11563
type
MyTypeType = enum
Zero, One
MyType = object
case kind: MyTypeType
of Zero:
s*: seq[MyType]
of One:
x*: int
var t: MyType
let (a, d) = allocCounters()
discard cprintf("%ld new: %ld\n", a - unpairedEnvAllocs() - d, allocs)