diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2017-07-09 12:03:50 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2017-07-09 12:03:50 +0200 |
commit | 674db58a249fd6b7d0a35258158e713798bf7d98 (patch) | |
tree | 92f0efa025422f932db4848e996e5b123f8085d6 /tests | |
parent | 2b72f775e27c5426501a789fa7230a71cd2aa974 (diff) | |
download | Nim-674db58a249fd6b7d0a35258158e713798bf7d98.tar.gz |
fixes #5608
Diffstat (limited to 'tests')
-rw-r--r-- | tests/js/tbyvar.nim | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/js/tbyvar.nim b/tests/js/tbyvar.nim index f974049b9..e3690df98 100644 --- a/tests/js/tbyvar.nim +++ b/tests/js/tbyvar.nim @@ -5,6 +5,11 @@ bar 12 foo 12 bar 12 2 +12.5 +(nums: @[5, 5, 10, 5, 5, 5, 5, 5, 5, 5]) +(nums: @[5, 5, 50, 5, 5, 5, 5, 5, 5, 5]) +(nums: @[5, 5, 45, 5, 5, 5, 5, 5, 5, 5]) +(nums: @[5, 5, 9, 5, 5, 5, 5, 5, 5, 5]) ''' """ @@ -59,3 +64,41 @@ block: # Test var arg inside case expression. #5244 var a = "ok" foo(a) doAssert(a == "ok") + + +proc mainowar = + var x = 9.0 + x += 3.5 + echo x + +mainowar() + + +# bug #5608 + +type Foo = object + nums : seq[float] + +proc newFoo(len : int, default = 0.0) : Foo = + result = Foo() + result.nums = newSeq[float](len) + for i in 0..(len - 1): + result.nums[i] = default + +proc `[]=`(f : var Foo, i : int, v : float) = + f.nums[i] = v + +proc `[]`(f : Foo, i : int) : float = f.nums[i] + +proc `[]`(f : var Foo, i : int) : var float = f.nums[i] + +var f = newFoo(10,5) + +f[2] += 5 +echo f +f[2] *= 5 +echo f +f[2] -= 5 +echo f +f[2] /= 5 +echo f |