Skip to content

Commit

Permalink
close #17636 (#17643)
Browse files Browse the repository at this point in the history
  • Loading branch information
ringabout authored Apr 6, 2021
1 parent aa4f18e commit 7bfb9f0
Show file tree
Hide file tree
Showing 16 changed files with 62 additions and 77 deletions.
90 changes: 44 additions & 46 deletions tests/concepts/texplain.nim
Original file line number Diff line number Diff line change
@@ -1,45 +1,45 @@
discard """
cmd: "nim c --verbosity:0 --colors:off $file"
nimout: '''
texplain.nim(164, 10) Hint: Non-matching candidates for e(y)
texplain.nim(162, 10) Hint: Non-matching candidates for e(y)
proc e(i: int): int
first type mismatch at position: 1
required type for i: int
but expression 'y' is of type: MatchingType
texplain.nim(167, 7) Hint: Non-matching candidates for e(10)
texplain.nim(165, 7) Hint: Non-matching candidates for e(10)
proc e(o: ExplainedConcept): int
first type mismatch at position: 1
required type for o: ExplainedConcept
but expression '10' is of type: int literal(10)
texplain.nim(130, 6) ExplainedConcept: undeclared field: 'foo'
texplain.nim(130, 6) ExplainedConcept: undeclared field: '.'
texplain.nim(130, 6) ExplainedConcept: expression '.' cannot be called
texplain.nim(130, 6) ExplainedConcept: expression '' has no type (or is ambiguous)
texplain.nim(130, 5) ExplainedConcept: concept predicate failed
texplain.nim(131, 6) ExplainedConcept: undeclared field: 'bar'
texplain.nim(131, 6) ExplainedConcept: undeclared field: '.'
texplain.nim(131, 6) ExplainedConcept: expression '.' cannot be called
texplain.nim(131, 6) ExplainedConcept: expression '' has no type (or is ambiguous)
texplain.nim(130, 5) ExplainedConcept: concept predicate failed
texplain.nim(170, 10) Hint: Non-matching candidates for e(10)
texplain.nim(128, 6) ExplainedConcept: undeclared field: 'foo'
texplain.nim(128, 6) ExplainedConcept: undeclared field: '.'
texplain.nim(128, 6) ExplainedConcept: expression '.' cannot be called
texplain.nim(128, 6) ExplainedConcept: expression '' has no type (or is ambiguous)
texplain.nim(128, 5) ExplainedConcept: concept predicate failed
texplain.nim(129, 6) ExplainedConcept: undeclared field: 'bar'
texplain.nim(129, 6) ExplainedConcept: undeclared field: '.'
texplain.nim(129, 6) ExplainedConcept: expression '.' cannot be called
texplain.nim(129, 6) ExplainedConcept: expression '' has no type (or is ambiguous)
texplain.nim(128, 5) ExplainedConcept: concept predicate failed
texplain.nim(168, 10) Hint: Non-matching candidates for e(10)
proc e(o: ExplainedConcept): int
first type mismatch at position: 1
required type for o: ExplainedConcept
but expression '10' is of type: int literal(10)
texplain.nim(130, 6) ExplainedConcept: undeclared field: 'foo'
texplain.nim(130, 6) ExplainedConcept: undeclared field: '.'
texplain.nim(130, 6) ExplainedConcept: expression '.' cannot be called
texplain.nim(130, 6) ExplainedConcept: expression '' has no type (or is ambiguous)
texplain.nim(130, 5) ExplainedConcept: concept predicate failed
texplain.nim(131, 6) ExplainedConcept: undeclared field: 'bar'
texplain.nim(131, 6) ExplainedConcept: undeclared field: '.'
texplain.nim(131, 6) ExplainedConcept: expression '.' cannot be called
texplain.nim(131, 6) ExplainedConcept: expression '' has no type (or is ambiguous)
texplain.nim(130, 5) ExplainedConcept: concept predicate failed
texplain.nim(174, 20) Error: type mismatch: got <NonMatchingType>
texplain.nim(128, 6) ExplainedConcept: undeclared field: 'foo'
texplain.nim(128, 6) ExplainedConcept: undeclared field: '.'
texplain.nim(128, 6) ExplainedConcept: expression '.' cannot be called
texplain.nim(128, 6) ExplainedConcept: expression '' has no type (or is ambiguous)
texplain.nim(128, 5) ExplainedConcept: concept predicate failed
texplain.nim(129, 6) ExplainedConcept: undeclared field: 'bar'
texplain.nim(129, 6) ExplainedConcept: undeclared field: '.'
texplain.nim(129, 6) ExplainedConcept: expression '.' cannot be called
texplain.nim(129, 6) ExplainedConcept: expression '' has no type (or is ambiguous)
texplain.nim(128, 5) ExplainedConcept: concept predicate failed
texplain.nim(172, 20) Error: type mismatch: got <NonMatchingType>
but expected one of:
proc e(i: int): int
first type mismatch at position: 1
Expand All @@ -49,11 +49,11 @@ 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(174, 9) template/generic instantiation of `assert` from here
texplain.nim(130, 5) ExplainedConcept: concept predicate failed
texplain.nim(172, 9) template/generic instantiation of `assert` from here
texplain.nim(128, 5) ExplainedConcept: concept predicate failed
expression: e(n)
texplain.nim(175, 20) Error: type mismatch: got <NonMatchingType>
texplain.nim(173, 20) Error: type mismatch: got <NonMatchingType>
but expected one of:
proc r(i: string): int
first type mismatch at position: 1
Expand All @@ -63,15 +63,15 @@ proc r(o: RegularConcept): int
first type mismatch at position: 1
required type for o: RegularConcept
but expression 'n' is of type: NonMatchingType
texplain.nim(175, 9) template/generic instantiation of `assert` from here
texplain.nim(134, 5) RegularConcept: concept predicate failed
texplain.nim(173, 9) template/generic instantiation of `assert` from here
texplain.nim(132, 5) RegularConcept: concept predicate failed
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
expression: r(n)
texplain.nim(176, 20) Hint: Non-matching candidates for r(y)
texplain.nim(174, 20) Hint: Non-matching candidates for r(y)
proc r(i: string): int
first type mismatch at position: 1
required type for i: string
Expand All @@ -81,28 +81,26 @@ proc r[T](a: SomeNumber; b: T; c: auto)
required type for a: SomeNumber
but expression 'y' is of type: MatchingType
texplain.nim(184, 2) Error: type mismatch: got <MatchingType>
texplain.nim(182, 2) Error: type mismatch: got <MatchingType>
but expected one of:
proc f(o: NestedConcept)
first type mismatch at position: 1
required type for o: NestedConcept
but expression 'y' is of type: MatchingType
texplain.nim(134, 6) RegularConcept: undeclared field: 'foo'
texplain.nim(134, 6) RegularConcept: undeclared field: '.'
texplain.nim(134, 6) RegularConcept: expression '.' cannot be called
texplain.nim(134, 6) RegularConcept: expression '' has no type (or is ambiguous)
texplain.nim(134, 5) RegularConcept: concept predicate failed
texplain.nim(135, 6) RegularConcept: undeclared field: 'bar'
texplain.nim(135, 6) RegularConcept: undeclared field: '.'
texplain.nim(135, 6) RegularConcept: expression '.' cannot be called
texplain.nim(135, 6) RegularConcept: expression '' has no type (or is ambiguous)
texplain.nim(134, 5) RegularConcept: concept predicate failed
texplain.nim(138, 5) NestedConcept: concept predicate failed
texplain.nim(132, 6) RegularConcept: undeclared field: 'foo'
texplain.nim(132, 6) RegularConcept: undeclared field: '.'
texplain.nim(132, 6) RegularConcept: expression '.' cannot be called
texplain.nim(132, 6) RegularConcept: expression '' has no type (or is ambiguous)
texplain.nim(132, 5) RegularConcept: concept predicate failed
texplain.nim(133, 6) RegularConcept: undeclared field: 'bar'
texplain.nim(133, 6) RegularConcept: undeclared field: '.'
texplain.nim(133, 6) RegularConcept: expression '.' cannot be called
texplain.nim(133, 6) RegularConcept: expression '' has no type (or is ambiguous)
texplain.nim(132, 5) RegularConcept: concept predicate failed
texplain.nim(136, 5) NestedConcept: concept predicate failed
expression: f(y)'''
errormsg: "type mismatch: got <MatchingType>"
line: 184
"""


Expand Down
3 changes: 1 addition & 2 deletions tests/concepts/twrapconcept.nim
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
discard """
errormsg: "type mismatch: got <string>"
line: 21
nimout: "twrapconcept.nim(11, 5) Foo: concept predicate failed"
nimout: "twrapconcept.nim(10, 5) Foo: concept predicate failed"
"""

# https://github.com/nim-lang/Nim/issues/5127
Expand Down
4 changes: 2 additions & 2 deletions tests/destructor/tdont_return_unowned_from_owned.nim
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
discard """
cmd: "nim check --newruntime --hints:off $file"
nimout: '''tdont_return_unowned_from_owned.nim(36, 10) Error: cannot return an owned pointer as an unowned pointer; use 'owned(Obj)' as the return type
nimout: '''
tdont_return_unowned_from_owned.nim(36, 10) Error: cannot return an owned pointer as an unowned pointer; use 'owned(Obj)' as the return type
tdont_return_unowned_from_owned.nim(39, 10) Error: cannot return an owned pointer as an unowned pointer; use 'owned(Obj)' as the return type
tdont_return_unowned_from_owned.nim(42, 6) Error: type mismatch: got <Obj>
but expected one of:
Expand All @@ -16,7 +17,6 @@ tdont_return_unowned_from_owned.nim(51, 13) Error: assignment produces a danglin
tdont_return_unowned_from_owned.nim(55, 10) Error: cannot return an owned pointer as an unowned pointer; use 'owned(RootRef)' as the return type
'''
errormsg: "cannot return an owned pointer as an unowned pointer; use 'owned(RootRef)' as the return type"
line: 55
"""


Expand Down
4 changes: 2 additions & 2 deletions tests/effects/tfuncs_cannot_mutate.nim
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ discard """
errormsg: "'mutate' can have side effects"
nimout: '''an object reachable from 'n' is potentially mutated
tfuncs_cannot_mutate.nim(39, 15) the mutation is here
tfuncs_cannot_mutate.nim(37, 7) is the statement that connected the mutation to the parameter'''
line: 33
tfuncs_cannot_mutate.nim(37, 7) is the statement that connected the mutation to the parameter
'''
"""

{.experimental: "strictFuncs".}
Expand Down
3 changes: 1 addition & 2 deletions tests/effects/tfuncs_cannot_mutate_simple.nim
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
discard """
errormsg: "'edit' can have side effects"
nimout: '''an object reachable from 'x' is potentially mutated
tfuncs_cannot_mutate_simple.nim(17, 4) the mutation is here'''
line: 16
tfuncs_cannot_mutate_simple.nim(16, 4) the mutation is here'''
"""

{.experimental: "strictFuncs".}
Expand Down
3 changes: 1 addition & 2 deletions tests/errmsgs/t6608.nim
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
discard """
cmd: "nim c --hints:off $file"
errormsg: "type mismatch: got <>"
nimout: '''t6608.nim(14, 4) Error: type mismatch: got <>
nimout: '''t6608.nim(13, 4) Error: type mismatch: got <>
but expected one of:
AcceptCB = proc (s: string){.closure.}'''
line: 14
"""

type
Expand Down
1 change: 0 additions & 1 deletion tests/errmsgs/tconceptconstraint.nim
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
discard """
errormsg: "cannot instantiate B"
line: 20
nimout: '''
got: <typedesc[string]>
but expected: <T: A>
Expand Down
1 change: 0 additions & 1 deletion tests/errmsgs/tgenericconstraint.nim
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
discard """
errormsg: "cannot instantiate B"
line: 14
nimout: '''
got: <typedesc[int]>
but expected: <T: string or float>
Expand Down
3 changes: 1 addition & 2 deletions tests/errmsgs/twrong_at_operator.nim
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
discard """
errormsg: "type mismatch: got <array[0..0, typedesc[int]]>"
line: 22
nimout: '''
twrong_at_operator.nim(22, 30) Error: type mismatch: got <array[0..0, typedesc[int]]>
twrong_at_operator.nim(21, 30) Error: type mismatch: got <array[0..0, typedesc[int]]>
but expected one of:
proc `@`[IDX, T](a: sink array[IDX, T]): seq[T]
first type mismatch at position: 1
Expand Down
3 changes: 1 addition & 2 deletions tests/errmsgs/twrongcolon.nim
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
discard """
errormsg: "in expression ' do:"
nimout: '''
twrongcolon.nim(11, 12) Error: in expression ' do:
twrongcolon.nim(10, 12) Error: in expression ' do:
890': identifier expected, but found ''
'''
line: 11
"""

var n: int : 890
3 changes: 1 addition & 2 deletions tests/init/tuninit1.nim
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
discard """
nimout: "tuninit1.nim(35, 11) Warning: use explicit initialization of 'y' for clarity [Uninit]"
line:34
nimout: "tuninit1.nim(34, 11) Warning: use explicit initialization of 'y' for clarity [Uninit]"
action: compile
"""

Expand Down
3 changes: 1 addition & 2 deletions tests/misc/tnoop.nim
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
discard """
nimout: '''
found 'a' [var declared in tnoop.nim(11, 3)]
found 'a' [var declared in tnoop.nim(10, 3)]
'''
file: "tnoop.nim"
line: 13
errormsg: "attempting to call routine: 'a'"
"""

Expand Down
3 changes: 1 addition & 2 deletions tests/objvariant/tcheckedfield1.nim
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
discard """
nimout: "tcheckedfield1.nim(40, 6) Warning: cannot prove that field 'x.s' is accessible [ProveField]"
line:51
nimout: "tcheckedfield1.nim(39, 6) Warning: cannot prove that field 'x.s' is accessible [ProveField]"
action: run
output: "abc abc"
"""
Expand Down
7 changes: 3 additions & 4 deletions tests/parallel/tgc_unsafe2.nim
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
discard """
errormsg: "'consumer' is not GC-safe as it calls 'track'"
line: 28
nimout: '''tgc_unsafe2.nim(22, 6) Warning: 'trick' is not GC-safe as it accesses 'global' which is a global using GC'ed memory [GcUnsafe2]
tgc_unsafe2.nim(26, 6) Warning: 'track' is not GC-safe as it calls 'trick' [GcUnsafe2]
tgc_unsafe2.nim(28, 6) Error: 'consumer' is not GC-safe as it calls 'track'
nimout: '''tgc_unsafe2.nim(21, 6) Warning: 'trick' is not GC-safe as it accesses 'global' which is a global using GC'ed memory [GcUnsafe2]
tgc_unsafe2.nim(25, 6) Warning: 'track' is not GC-safe as it calls 'trick' [GcUnsafe2]
tgc_unsafe2.nim(27, 6) Error: 'consumer' is not GC-safe as it calls 'track'
'''
"""

Expand Down
3 changes: 1 addition & 2 deletions tests/varres/tprevent_forloopvar_mutations.nim
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
discard """
errormsg: "type mismatch: got <int>"
line: 17
nimout: '''tprevent_forloopvar_mutations.nim(17, 7) Error: type mismatch: got <int>
nimout: '''tprevent_forloopvar_mutations.nim(16, 7) Error: type mismatch: got <int>
but expected one of:
proc inc[T: Ordinal](x: var T; y = 1)
first type mismatch at position: 1
Expand Down
5 changes: 2 additions & 3 deletions tests/views/tcannot_borrow.nim
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
discard """
errormsg: "cannot borrow"
nimout: '''tcannot_borrow.nim(21, 7) Error: cannot borrow meh; what it borrows from is potentially mutated
tcannot_borrow.nim(22, 3) the mutation is here'''
line: 21
nimout: '''tcannot_borrow.nim(20, 7) Error: cannot borrow meh; what it borrows from is potentially mutated
tcannot_borrow.nim(21, 3) the mutation is here'''
"""


Expand Down

0 comments on commit 7bfb9f0

Please sign in to comment.