diff options
Diffstat (limited to 'tests/vm/treset.nim')
-rw-r--r-- | tests/vm/treset.nim | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/vm/treset.nim b/tests/vm/treset.nim new file mode 100644 index 000000000..32fbc7f04 --- /dev/null +++ b/tests/vm/treset.nim @@ -0,0 +1,50 @@ +static: + type Obj = object + field: int + var o = Obj(field: 1) + reset(o) + doAssert o.field == 0 + + var x = 4 + reset(x) + doAssert x == 0 + +static: + type ObjB = object + field: int + var o = ObjB(field: 1) + o = default(ObjB) + doAssert o.field == 0 + +static: + var i = 2 + reset(i) + doAssert i == 0 + +static: + var i = new int + reset(i) + doAssert i.isNil + +static: + var s = @[1, 2, 3] + reset(s) + doAssert s == @[] + +static: + proc f() = + var i = 2 + reset(i) + doAssert i == 0 + f() + +proc main = + var y = [1, 2, 3, 4] + y = default(array[4, int]) + for a in y: doAssert(a == 0) + + var x = 4 + x = default(int) + doAssert x == 0 + +main() |