* fix #13538 sigmatch now sorted and has reliable order * re-enable tests that were disabled because of that bug * fix remaining tests and un-disable 2 other tests that were affected by this bug
This commit is contained in:
parent
55d3780b7b
commit
dd362ab4c0
6 changed files with 58 additions and 51 deletions
|
|
@ -1,6 +1,5 @@
|
|||
discard """
|
||||
errormsg: "type mismatch: got <Bar[system.int]>"
|
||||
disabled: "32bit"
|
||||
nimout: '''
|
||||
t3330.nim(78, 4) Error: type mismatch: got <Bar[system.int]>
|
||||
but expected one of:
|
||||
|
|
@ -9,33 +8,33 @@ proc test(foo: Foo[int])
|
|||
required type for foo: Foo[int]
|
||||
but expression 'bar' is of type: Bar[system.int]
|
||||
t3330.nim(63, 8) Hint: Non-matching candidates for add(k, string, T)
|
||||
proc add(x: var string; y: string)
|
||||
first type mismatch at position: 1
|
||||
required type for x: var string
|
||||
but expression 'k' is of type: Alias
|
||||
proc add[T](x: var seq[T]; y: openArray[T])
|
||||
first type mismatch at position: 1
|
||||
required type for x: var seq[T]
|
||||
but expression 'k' is of type: Alias
|
||||
proc add(result: var string; x: float)
|
||||
first type mismatch at position: 1
|
||||
required type for result: var string
|
||||
but expression 'k' is of type: Alias
|
||||
proc add[T](x: var seq[T]; y: T)
|
||||
proc add(result: var string; x: int64)
|
||||
first type mismatch at position: 1
|
||||
required type for x: var seq[T]
|
||||
but expression 'k' is of type: Alias
|
||||
proc add(x: var string; y: cstring)
|
||||
first type mismatch at position: 1
|
||||
required type for x: var string
|
||||
required type for result: var string
|
||||
but expression 'k' is of type: Alias
|
||||
proc add(x: var string; y: char)
|
||||
first type mismatch at position: 1
|
||||
required type for x: var string
|
||||
but expression 'k' is of type: Alias
|
||||
proc add(result: var string; x: int64)
|
||||
proc add(x: var string; y: cstring)
|
||||
first type mismatch at position: 1
|
||||
required type for result: var string
|
||||
required type for x: var string
|
||||
but expression 'k' is of type: Alias
|
||||
proc add(x: var string; y: string)
|
||||
first type mismatch at position: 1
|
||||
required type for x: var string
|
||||
but expression 'k' is of type: Alias
|
||||
proc add[T](x: var seq[T]; y: T)
|
||||
first type mismatch at position: 1
|
||||
required type for x: var seq[T]
|
||||
but expression 'k' is of type: Alias
|
||||
proc add[T](x: var seq[T]; y: openArray[T])
|
||||
first type mismatch at position: 1
|
||||
required type for x: var seq[T]
|
||||
but expression 'k' is of type: Alias
|
||||
|
||||
t3330.nim(63, 8) template/generic instantiation of `add` from here
|
||||
|
|
@ -46,10 +45,11 @@ t3330.nim(71, 6) Foo: 'bar.x' cannot be assigned to
|
|||
expression: test(bar)'''
|
||||
"""
|
||||
|
||||
# Note: currently disabled on 32bit because the candidates are presented in
|
||||
# different order on travis with `NIM_COMPILE_TO_CPP=false CPU=i386`;
|
||||
# a possible fix would be to sort the candidates by proc signature or
|
||||
# declaration location
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -37,20 +37,24 @@ texplain.nim(124, 5) ExplainedConcept: concept predicate failed
|
|||
|
||||
texplain.nim(168, 20) Error: type mismatch: got <NonMatchingType>
|
||||
but expected one of:
|
||||
proc e(i: int): int
|
||||
first type mismatch at position: 1
|
||||
required type for i: int
|
||||
but expression 'n' is of type: NonMatchingType
|
||||
proc e(o: ExplainedConcept): int
|
||||
first type mismatch at position: 1
|
||||
required type for o: ExplainedConcept
|
||||
but expression 'n' is of type: NonMatchingType
|
||||
texplain.nim(168, 9) template/generic instantiation of `assert` from here
|
||||
texplain.nim(124, 5) ExplainedConcept: concept predicate failed
|
||||
proc e(i: int): int
|
||||
first type mismatch at position: 1
|
||||
required type for i: int
|
||||
but expression 'n' is of type: NonMatchingType
|
||||
|
||||
expression: e(n)
|
||||
texplain.nim(169, 20) Error: type mismatch: got <NonMatchingType>
|
||||
but expected one of:
|
||||
proc r(i: string): int
|
||||
first type mismatch at position: 1
|
||||
required type for i: string
|
||||
but expression 'n' is of type: NonMatchingType
|
||||
proc r(o: RegularConcept): int
|
||||
first type mismatch at position: 1
|
||||
required type for o: RegularConcept
|
||||
|
|
@ -61,21 +65,17 @@ proc r[T](a: SomeNumber; b: T; c: auto)
|
|||
first type mismatch at position: 1
|
||||
required type for a: SomeNumber
|
||||
but expression 'n' is of type: NonMatchingType
|
||||
proc r(i: string): int
|
||||
first type mismatch at position: 1
|
||||
required type for i: string
|
||||
but expression 'n' is of type: NonMatchingType
|
||||
|
||||
expression: r(n)
|
||||
texplain.nim(170, 20) Hint: Non-matching candidates for r(y)
|
||||
proc r[T](a: SomeNumber; b: T; c: auto)
|
||||
first type mismatch at position: 1
|
||||
required type for a: SomeNumber
|
||||
but expression 'y' is of type: MatchingType
|
||||
proc r(i: string): int
|
||||
first type mismatch at position: 1
|
||||
required type for i: string
|
||||
but expression 'y' is of type: MatchingType
|
||||
proc r[T](a: SomeNumber; b: T; c: auto)
|
||||
first type mismatch at position: 1
|
||||
required type for a: SomeNumber
|
||||
but expression 'y' is of type: MatchingType
|
||||
|
||||
texplain.nim(178, 2) Error: type mismatch: got <MatchingType>
|
||||
but expected one of:
|
||||
|
|
@ -97,10 +97,10 @@ expression: f(y)'''
|
|||
errormsg: "type mismatch: got <MatchingType>"
|
||||
line: 178
|
||||
|
||||
disabled: 32bit
|
||||
"""
|
||||
|
||||
# disabled on 32 bit, because the order of suggested alternatives ``r`` differs
|
||||
|
||||
|
||||
# proc r[T](a: SomeNumber; b: T; c: auto)
|
||||
# proc r(i: string): int
|
||||
# proc r(o: RegularConcept): int
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue