parent
5fce81edfd
commit
5ddea6a98f
1 changed files with 101 additions and 21 deletions
|
|
@ -1,7 +1,77 @@
|
||||||
discard """
|
discard """
|
||||||
cmd: "nim check --showAllMismatches:on --hints:off $file"
|
cmd: "nim check --showAllMismatches:on --hints:off $file"
|
||||||
nimout: '''
|
nimout: '''
|
||||||
tsigmatch.nim(76, 7) Error: type mismatch: got <Mystring, string>
|
tsigmatch.nim(161, 4) Error: type mismatch: got <A, string>
|
||||||
|
but expected one of:
|
||||||
|
proc f(b: B)
|
||||||
|
first type mismatch at position: 1
|
||||||
|
required type for b: B
|
||||||
|
but expression 'A()' is of type: A
|
||||||
|
proc f(a: A)
|
||||||
|
first type mismatch at position: 2
|
||||||
|
extra argument given
|
||||||
|
|
||||||
|
expression: f(A(), "extra")
|
||||||
|
tsigmatch.nim(175, 6) Error: type mismatch: got <tuple of (string, proc (){.gcsafe, locks: 0.})>
|
||||||
|
but expected one of:
|
||||||
|
proc foo(x: (string, proc ()))
|
||||||
|
first type mismatch at position: 1
|
||||||
|
required type for x: tuple of (string, proc (){.closure.})
|
||||||
|
but expression '("foobar", proc () = echo(["Hello!"]))' is of type: tuple of (string, proc (){.gcsafe, locks: 0.})
|
||||||
|
|
||||||
|
expression: foo(("foobar", proc () = echo(["Hello!"])))
|
||||||
|
tsigmatch.nim(182, 11) Error: type mismatch: got <proc (s: string): string{.noSideEffect, gcsafe, locks: 0.}>
|
||||||
|
but expected one of:
|
||||||
|
proc foo[T, S](op: proc (x: T): S {.cdecl.}): auto
|
||||||
|
first type mismatch at position: 1
|
||||||
|
required type for op: proc (x: T): S{.cdecl.}
|
||||||
|
but expression 'fun' is of type: proc (s: string): string{.noSideEffect, gcsafe, locks: 0.}
|
||||||
|
proc foo[T, S](op: proc (x: T): S {.safecall.}): auto
|
||||||
|
first type mismatch at position: 1
|
||||||
|
required type for op: proc (x: T): S{.safecall.}
|
||||||
|
but expression 'fun' is of type: proc (s: string): string{.noSideEffect, gcsafe, locks: 0.}
|
||||||
|
|
||||||
|
expression: foo(fun)
|
||||||
|
tsigmatch.nim(193, 13) Error: type mismatch: got <array[0..0, proc (x: int){.gcsafe, locks: 0.}]>
|
||||||
|
but expected one of:
|
||||||
|
proc takesFuncs(fs: openArray[proc (x: int) {.gcsafe, locks: 0.}])
|
||||||
|
first type mismatch at position: 1
|
||||||
|
required type for fs: openarray[proc (x: int){.closure, gcsafe, locks: 0.}]
|
||||||
|
but expression '[proc (x: int) {.gcsafe, locks: 0.} = echo [x]]' is of type: array[0..0, proc (x: int){.gcsafe, locks: 0.}]
|
||||||
|
|
||||||
|
expression: takesFuncs([proc (x: int) {.gcsafe, locks: 0.} = echo [x]])
|
||||||
|
tsigmatch.nim(199, 4) Error: type mismatch: got <int literal(10), a0: int literal(5), string>
|
||||||
|
but expected one of:
|
||||||
|
proc f(a0: uint8; b: string)
|
||||||
|
first type mismatch at position: 2
|
||||||
|
named param already provided: a0
|
||||||
|
|
||||||
|
expression: f(10, a0 = 5, "")
|
||||||
|
tsigmatch.nim(206, 4) Error: type mismatch: got <string, string, string, string, string, float64, string>
|
||||||
|
but expected one of:
|
||||||
|
proc f(a1: int)
|
||||||
|
first type mismatch at position: 1
|
||||||
|
required type for a1: int
|
||||||
|
but expression '"asdf"' is of type: string
|
||||||
|
proc f(a1: string; a2: varargs[string]; a3: float; a4: var string)
|
||||||
|
first type mismatch at position: 7
|
||||||
|
required type for a4: var string
|
||||||
|
but expression '"bad"' is immutable, not 'var'
|
||||||
|
|
||||||
|
expression: f("asdf", "1", "2", "3", "4", 2.3, "bad")
|
||||||
|
tsigmatch.nim(214, 4) Error: type mismatch: got <string, a0: int literal(12)>
|
||||||
|
but expected one of:
|
||||||
|
proc f(x: string; a0: var int)
|
||||||
|
first type mismatch at position: 2
|
||||||
|
required type for a0: var int
|
||||||
|
but expression 'a0 = 12' is immutable, not 'var'
|
||||||
|
proc f(x: string; a0: string)
|
||||||
|
first type mismatch at position: 2
|
||||||
|
required type for a0: string
|
||||||
|
but expression 'a0 = 12' is of type: int literal(12)
|
||||||
|
|
||||||
|
expression: f(foo, a0 = 12)
|
||||||
|
tsigmatch.nim(221, 7) Error: type mismatch: got <Mystring, string>
|
||||||
but expected one of:
|
but expected one of:
|
||||||
proc fun1(a1: MyInt; a2: Mystring)
|
proc fun1(a1: MyInt; a2: Mystring)
|
||||||
first type mismatch at position: 1
|
first type mismatch at position: 1
|
||||||
|
|
@ -13,25 +83,6 @@ proc fun1(a1: float; a2: Mystring)
|
||||||
but expression 'default(Mystring)' is of type: Mystring
|
but expression 'default(Mystring)' is of type: Mystring
|
||||||
|
|
||||||
expression: fun1(default(Mystring), "asdf")
|
expression: fun1(default(Mystring), "asdf")
|
||||||
tsigmatch.nim(82, 6) Error: type mismatch: got <tuple of (string, proc (){.gcsafe, locks: 0.})>
|
|
||||||
but expected one of:
|
|
||||||
proc foo(x: (string, proc ()))
|
|
||||||
first type mismatch at position: 1
|
|
||||||
required type for x: tuple of (string, proc (){.closure.})
|
|
||||||
but expression '("foobar", proc () = echo(["Hello!"]))' is of type: tuple of (string, proc (){.gcsafe, locks: 0.})
|
|
||||||
|
|
||||||
expression: foo(("foobar", proc () = echo(["Hello!"])))
|
|
||||||
tsigmatch.nim(95, 4) Error: type mismatch: got <A, string>
|
|
||||||
but expected one of:
|
|
||||||
proc f(b: B)
|
|
||||||
first type mismatch at position: 1
|
|
||||||
required type for b: B
|
|
||||||
but expression 'A()' is of type: A
|
|
||||||
proc f(a: A)
|
|
||||||
first type mismatch at position: 2
|
|
||||||
extra argument given
|
|
||||||
|
|
||||||
expression: f(A(), "extra")
|
|
||||||
'''
|
'''
|
||||||
errormsg: "type mismatch"
|
errormsg: "type mismatch"
|
||||||
"""
|
"""
|
||||||
|
|
@ -67,7 +118,36 @@ expression: f(A(), "extra")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## line 70
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## line 150
|
||||||
block:
|
block:
|
||||||
# bug #11061 Type mismatch error "first type mismatch at" points to wrong argument/position
|
# bug #11061 Type mismatch error "first type mismatch at" points to wrong argument/position
|
||||||
# Note: the error msg now gives correct position for mismatched argument
|
# Note: the error msg now gives correct position for mismatched argument
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue