summary refs log tree commit diff stats
path: root/tests/misc
diff options
context:
space:
mode:
authorBung <crc32@qq.com>2022-12-12 13:26:18 +0800
committerGitHub <noreply@github.com>2022-12-12 06:26:18 +0100
commit5917c2d5b7bda82a8feb521890e255cdf08cf718 (patch)
treea4bc56d847cb090a9ee921cfb6c110adbb598329 /tests/misc
parent3812d91390633113061ceb2b4f3fc61f563a66fb (diff)
downloadNim-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.nim14
-rw-r--r--tests/misc/t16244.nim9
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()