diff options
author | Araq <rumpf_a@web.de> | 2015-09-18 01:37:34 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-09-18 02:24:12 +0200 |
commit | 36f68e1650f5d9ebfe563b7411879dd46055ac69 (patch) | |
tree | 0e3037f623b343edbb692651c9fbcf1bfc6bb7f7 /tests | |
parent | 432884861efee9742722243d548d6a48f09c38e6 (diff) | |
download | Nim-36f68e1650f5d9ebfe563b7411879dd46055ac69.tar.gz |
fixes #3329
Diffstat (limited to 'tests')
-rw-r--r-- | tests/typerel/t2plus.nim | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/typerel/t2plus.nim b/tests/typerel/t2plus.nim new file mode 100644 index 000000000..08378b804 --- /dev/null +++ b/tests/typerel/t2plus.nim @@ -0,0 +1,22 @@ +discard """ + output: "2.0" +""" + +{.warning[TypelessParam]: off.} + +import future + +# bug #3329 + +proc foldRight[T,U](lst: seq[T], v: U, f: (T, U) -> U): U = + result = v + for x in lst: + result = f(x, result) + +proc mean[T: SomeNumber](xs: seq[T]): T = + xs.foldRight(0.T, (xBAZ: auto, yBAZ: auto) => xBAZ + yBAZ) / T(xs.len) + +when isMainModule: + let x = mean(@[1.float, 2, 3]) + echo x + |