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
This commit is contained in:
Bung
2022-12-12 13:26:18 +08:00
committed by GitHub
parent 3812d91390
commit 5917c2d5b7
12 changed files with 74 additions and 12 deletions

14
tests/misc/t12869.nim Normal file
View File

@@ -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)

9
tests/misc/t16244.nim Normal file
View File

@@ -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()