diff options
author | Bung <crc32@qq.com> | 2022-12-12 13:26:18 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-12 06:26:18 +0100 |
commit | 5917c2d5b7bda82a8feb521890e255cdf08cf718 (patch) | |
tree | a4bc56d847cb090a9ee921cfb6c110adbb598329 /tests/misc | |
parent | 3812d91390633113061ceb2b4f3fc61f563a66fb (diff) | |
download | Nim-5917c2d5b7bda82a8feb521890e255cdf08cf718.tar.gz |
fix #15836 proc arg return type auto unexpectly match proc with concr… (#21065)
* fix #15836 proc arg return type auto unexpectly match proc with concrete type * fix #16244 * add test case for #12869
Diffstat (limited to 'tests/misc')
-rw-r--r-- | tests/misc/t12869.nim | 14 | ||||
-rw-r--r-- | tests/misc/t16244.nim | 9 |
2 files changed, 23 insertions, 0 deletions
diff --git a/tests/misc/t12869.nim b/tests/misc/t12869.nim new file mode 100644 index 000000000..731a4e95e --- /dev/null +++ b/tests/misc/t12869.nim @@ -0,0 +1,14 @@ +discard """ + errormsg: "type mismatch: got <bool> but expected 'int'" + line: 12 +""" + +import sugar +from algorithm import sorted, SortOrder + +let a = 5 + +proc sorted*[T](a: openArray[T], key: proc(v: T): int, order = SortOrder.Ascending): seq[T] = + sorted(a, (x, y) => key(x) < key(y), order) + +echo sorted(@[9, 1, 8, 2, 6, 4, 5, 0], (x) => (a - x).abs) diff --git a/tests/misc/t16244.nim b/tests/misc/t16244.nim new file mode 100644 index 000000000..5e8128736 --- /dev/null +++ b/tests/misc/t16244.nim @@ -0,0 +1,9 @@ +discard """ + errormsg: "type mismatch: got <int, float64>" + line: 9 +""" + +proc g(): auto = 1 +proc h(): auto = 1.0 + +var a = g() + h() |