diff options
author | Timothee Cour <timothee.cour2@gmail.com> | 2019-07-06 20:09:26 -0700 |
---|---|---|
committer | Timothee Cour <timothee.cour2@gmail.com> | 2019-07-08 15:24:20 -0700 |
commit | b80d70b0f38413d06fb80d3df9296a6be897a278 (patch) | |
tree | d01e071f33891c5e7de4780ab63585a268fb46d1 | |
parent | a6526695f0972513913498c7b049a8dfb76814a3 (diff) | |
download | Nim-b80d70b0f38413d06fb80d3df9296a6be897a278.tar.gz |
fix tests
-rw-r--r-- | tests/concepts/t3330.nim | 42 | ||||
-rw-r--r-- | tests/concepts/texplain.nim | 126 | ||||
-rw-r--r-- | tests/destructor/tdont_return_unowned_from_owned.nim | 28 | ||||
-rw-r--r-- | tests/errmsgs/t8434.nim | 2 | ||||
-rw-r--r-- | tests/errmsgs/tdetailed_position.nim | 2 | ||||
-rw-r--r-- | tests/errmsgs/tgcsafety.nim | 2 | ||||
-rw-r--r-- | tests/errmsgs/tunknown_named_parameter.nim | 4 | ||||
-rw-r--r-- | tests/errmsgs/twrong_at_operator.nim | 10 | ||||
-rw-r--r-- | tests/typerel/t7600_1.nim | 5 | ||||
-rw-r--r-- | tests/typerel/t7600_2.nim | 5 | ||||
-rw-r--r-- | tests/varres/tprevent_forloopvar_mutations.nim | 6 |
11 files changed, 156 insertions, 76 deletions
diff --git a/tests/concepts/t3330.nim b/tests/concepts/t3330.nim index a1ad96f2b..5ff429d89 100644 --- a/tests/concepts/t3330.nim +++ b/tests/concepts/t3330.nim @@ -1,49 +1,63 @@ discard """ errormsg: "type mismatch: got <Bar[system.int]>" -disabled: "true" +disabled: "false" nimout: ''' -t3330.nim(63, 4) Error: type mismatch: got <Bar[system.int]> +t3330.nim(78, 4) Error: type mismatch: got <Bar[system.int]> but expected one of: proc test(foo: Foo[int]) -t3330.nim(48, 8) Hint: Non-matching candidates for add(k, string, T) + first type mismatch at position: 1 + 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[T](x: var seq[T]; y: openArray[T]) first type mismatch at position: 1 - required type: var seq[T] + 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: var string + required type for result: var string but expression 'k' is of type: Alias proc add(x: var string; y: string) first type mismatch at position: 1 - required type: var string + required type for x: var string but expression 'k' is of type: Alias proc add(x: var string; y: cstring) first type mismatch at position: 1 - required type: var string + 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: var seq[T] + required type for x: var seq[T] but expression 'k' is of type: Alias proc add(result: var string; x: int64) first type mismatch at position: 1 - required type: 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: var string + required type for x: var string but expression 'k' is of type: Alias -t3330.nim(48, 8) template/generic instantiation of `add` from here -t3330.nim(55, 6) Foo: 'bar.value' cannot be assigned to -t3330.nim(48, 8) template/generic instantiation of `add` from here -t3330.nim(56, 6) Foo: 'bar.x' cannot be assigned to +t3330.nim(63, 8) template/generic instantiation of `add` from here +t3330.nim(70, 6) Foo: 'bar.value' cannot be assigned to +t3330.nim(63, 8) template/generic instantiation of `add` from here +t3330.nim(71, 6) Foo: 'bar.x' cannot be assigned to expression: test(bar)''' """ + + + + + + + + + + +## line 60 type Foo[T] = concept k add(k, string, T) diff --git a/tests/concepts/texplain.nim b/tests/concepts/texplain.nim index 4ec848732..f3d70320f 100644 --- a/tests/concepts/texplain.nim +++ b/tests/concepts/texplain.nim @@ -2,69 +2,101 @@ discard """ cmd: "nim c --verbosity:0 --colors:off $file" nimout: ''' Hint: texplain [Processing] -texplain.nim(118, 10) Hint: Non-matching candidates for e(y) +texplain.nim(158, 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(121, 7) Hint: Non-matching candidates for e(10) +texplain.nim(161, 7) Hint: Non-matching candidates for e(10) proc e(o: ExplainedConcept): int -texplain.nim(84, 6) ExplainedConcept: undeclared field: 'foo' -texplain.nim(84, 6) ExplainedConcept: undeclared field: '.' -texplain.nim(84, 6) ExplainedConcept: expression '.' cannot be called -texplain.nim(84, 5) ExplainedConcept: concept predicate failed -texplain.nim(85, 6) ExplainedConcept: undeclared field: 'bar' -texplain.nim(85, 6) ExplainedConcept: undeclared field: '.' -texplain.nim(85, 6) ExplainedConcept: expression '.' cannot be called -texplain.nim(84, 5) ExplainedConcept: concept predicate failed - -texplain.nim(124, 10) Hint: Non-matching candidates for e(10) + first type mismatch at position: 1 + required type for o: ExplainedConcept + but expression '10' is of type: int literal(10) +texplain.nim(124, 6) ExplainedConcept: undeclared field: 'foo' +texplain.nim(124, 6) ExplainedConcept: undeclared field: '.' +texplain.nim(124, 6) ExplainedConcept: expression '.' cannot be called +texplain.nim(124, 5) ExplainedConcept: concept predicate failed +texplain.nim(125, 6) ExplainedConcept: undeclared field: 'bar' +texplain.nim(125, 6) ExplainedConcept: undeclared field: '.' +texplain.nim(125, 6) ExplainedConcept: expression '.' cannot be called +texplain.nim(124, 5) ExplainedConcept: concept predicate failed + +texplain.nim(164, 10) Hint: Non-matching candidates for e(10) proc e(o: ExplainedConcept): int -texplain.nim(84, 6) ExplainedConcept: undeclared field: 'foo' -texplain.nim(84, 6) ExplainedConcept: undeclared field: '.' -texplain.nim(84, 6) ExplainedConcept: expression '.' cannot be called -texplain.nim(84, 5) ExplainedConcept: concept predicate failed -texplain.nim(85, 6) ExplainedConcept: undeclared field: 'bar' -texplain.nim(85, 6) ExplainedConcept: undeclared field: '.' -texplain.nim(85, 6) ExplainedConcept: expression '.' cannot be called -texplain.nim(84, 5) ExplainedConcept: concept predicate failed - -texplain.nim(128, 20) Error: type mismatch: got <NonMatchingType> + first type mismatch at position: 1 + required type for o: ExplainedConcept + but expression '10' is of type: int literal(10) +texplain.nim(124, 6) ExplainedConcept: undeclared field: 'foo' +texplain.nim(124, 6) ExplainedConcept: undeclared field: '.' +texplain.nim(124, 6) ExplainedConcept: expression '.' cannot be called +texplain.nim(124, 5) ExplainedConcept: concept predicate failed +texplain.nim(125, 6) ExplainedConcept: undeclared field: 'bar' +texplain.nim(125, 6) ExplainedConcept: undeclared field: '.' +texplain.nim(125, 6) ExplainedConcept: expression '.' cannot be called +texplain.nim(124, 5) ExplainedConcept: concept predicate failed + +texplain.nim(168, 20) Error: type mismatch: got <NonMatchingType> but expected one of: proc e(o: ExplainedConcept): int -texplain.nim(128, 9) template/generic instantiation of `assert` from here -texplain.nim(84, 5) ExplainedConcept: concept predicate failed + 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(129, 20) Error: type mismatch: got <NonMatchingType> +texplain.nim(169, 20) Error: type mismatch: got <NonMatchingType> but expected one of: proc r(o: RegularConcept): int -texplain.nim(129, 9) template/generic instantiation of `assert` from here -texplain.nim(88, 5) RegularConcept: concept predicate failed + first type mismatch at position: 1 + required type for o: RegularConcept + but expression 'n' is of type: NonMatchingType +texplain.nim(169, 9) template/generic instantiation of `assert` from here +texplain.nim(128, 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 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(130, 20) Hint: Non-matching candidates for r(y) +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 -texplain.nim(138, 2) Error: type mismatch: got <MatchingType> +texplain.nim(178, 2) Error: type mismatch: got <MatchingType> but expected one of: proc f(o: NestedConcept) -texplain.nim(88, 6) RegularConcept: undeclared field: 'foo' -texplain.nim(88, 6) RegularConcept: undeclared field: '.' -texplain.nim(88, 6) RegularConcept: expression '.' cannot be called -texplain.nim(88, 5) RegularConcept: concept predicate failed -texplain.nim(89, 6) RegularConcept: undeclared field: 'bar' -texplain.nim(89, 6) RegularConcept: undeclared field: '.' -texplain.nim(89, 6) RegularConcept: expression '.' cannot be called -texplain.nim(88, 5) RegularConcept: concept predicate failed -texplain.nim(92, 5) NestedConcept: concept predicate failed - -expression: f(y) -''' + first type mismatch at position: 1 + required type for o: NestedConcept + but expression 'y' is of type: MatchingType +texplain.nim(128, 6) RegularConcept: undeclared field: 'foo' +texplain.nim(128, 6) RegularConcept: undeclared field: '.' +texplain.nim(128, 6) RegularConcept: expression '.' cannot be called +texplain.nim(128, 5) RegularConcept: concept predicate failed +texplain.nim(129, 6) RegularConcept: undeclared field: 'bar' +texplain.nim(129, 6) RegularConcept: undeclared field: '.' +texplain.nim(129, 6) RegularConcept: expression '.' cannot be called +texplain.nim(128, 5) RegularConcept: concept predicate failed +texplain.nim(132, 5) NestedConcept: concept predicate failed + +expression: f(y)''' errormsg: "type mismatch: got <MatchingType>" - line: 138 + line: 178 disabled: 32bit """ @@ -77,7 +109,15 @@ expression: f(y) -# line 80 HERE + + + + + + + + +# line 120 HERE type ExplainedConcept {.explain.} = concept o diff --git a/tests/destructor/tdont_return_unowned_from_owned.nim b/tests/destructor/tdont_return_unowned_from_owned.nim index 5794dec1d..a726960c6 100644 --- a/tests/destructor/tdont_return_unowned_from_owned.nim +++ b/tests/destructor/tdont_return_unowned_from_owned.nim @@ -1,21 +1,33 @@ discard """ cmd: "nim check --newruntime --hints:off $file" - nimout: '''tdont_return_unowned_from_owned.nim(24, 10) Error: cannot return an owned pointer as an unowned pointer; use 'owned(Obj)' as the return type -tdont_return_unowned_from_owned.nim(27, 10) Error: cannot return an owned pointer as an unowned pointer; use 'owned(Obj)' as the return type -tdont_return_unowned_from_owned.nim(30, 6) Error: type mismatch: got <Obj> + 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: proc new[T](a: var ref T; finalizer: proc (x: ref T) {.nimcall.}) + first type mismatch at position: 2 + missing parameter: finalizer 2 other mismatching symbols have been suppressed; compile with --showAllMismatches:on to see them expression: new(result) -tdont_return_unowned_from_owned.nim(30, 6) Error: illformed AST: -tdont_return_unowned_from_owned.nim(38, 13) Error: assignment produces a dangling ref: the unowned ref lives longer than the owned ref -tdont_return_unowned_from_owned.nim(39, 13) Error: assignment produces a dangling ref: the unowned ref lives longer than the owned ref -tdont_return_unowned_from_owned.nim(43, 10) Error: cannot return an owned pointer as an unowned pointer; use 'owned(RootRef)' as the return type +tdont_return_unowned_from_owned.nim(42, 6) Error: illformed AST: +tdont_return_unowned_from_owned.nim(50, 13) Error: assignment produces a dangling ref: the unowned ref lives longer than the owned ref +tdont_return_unowned_from_owned.nim(51, 13) Error: assignment produces a dangling ref: the unowned ref lives longer than the owned ref +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: 43 + line: 55 """ + + + + + + + + + +## line 30 # bug #11073 type Obj = ref object diff --git a/tests/errmsgs/t8434.nim b/tests/errmsgs/t8434.nim index b37468111..ada38e9c0 100644 --- a/tests/errmsgs/t8434.nim +++ b/tests/errmsgs/t8434.nim @@ -4,7 +4,7 @@ discard """ proc fun0[T1: int | float | object | array | seq](a1: T1; a2: int) first type mismatch at position: 1 - required type: T1: int or float or object or array or seq[T] + required type for a1: T1: int or float or object or array or seq[T] but expression 'byte(1)' is of type: byte expression: fun0(byte(1), 0) diff --git a/tests/errmsgs/tdetailed_position.nim b/tests/errmsgs/tdetailed_position.nim index ce5b18bbd..ecece7972 100644 --- a/tests/errmsgs/tdetailed_position.nim +++ b/tests/errmsgs/tdetailed_position.nim @@ -6,7 +6,7 @@ nimout: ''' but expected one of: proc main(a, b, c: string) first type mismatch at position: 1 - required type: string + required type for a: string but expression '1' is of type: int literal(1) expression: main(1, 2, 3) diff --git a/tests/errmsgs/tgcsafety.nim b/tests/errmsgs/tgcsafety.nim index ffc6905b0..beaeae544 100644 --- a/tests/errmsgs/tgcsafety.nim +++ b/tests/errmsgs/tgcsafety.nim @@ -8,7 +8,7 @@ proc serve(server: AsyncHttpServer; port: Port; callback: proc (request: Request): Future[void] {.closure, gcsafe.}; address = ""): Future[void] first type mismatch at position: 3 - required type: proc (request: Request): Future[system.void]{.closure, gcsafe.} + required type for callback: proc (request: Request): Future[system.void]{.closure, gcsafe.} but expression 'cb' is of type: proc (req: Request): Future[system.void]{.locks: <unknown>.} This expression is not GC-safe. Annotate the proc with {.gcsafe.} to get extended error information. diff --git a/tests/errmsgs/tunknown_named_parameter.nim b/tests/errmsgs/tunknown_named_parameter.nim index 3051787ea..e9be23068 100644 --- a/tests/errmsgs/tunknown_named_parameter.nim +++ b/tests/errmsgs/tunknown_named_parameter.nim @@ -4,14 +4,14 @@ errormsg: "type mismatch: got <string, set[char], maxsplits: int literal(1)>" nimout: ''' proc rsplit(s: string; sep: char; maxsplit: int = -1): seq[string] first type mismatch at position: 2 - required type: char + required type for sep: char but expression '{':'}' is of type: set[char] proc rsplit(s: string; seps: set[char] = Whitespace; maxsplit: int = -1): seq[string] first type mismatch at position: 3 unknown named parameter: maxsplits proc rsplit(s: string; sep: string; maxsplit: int = -1): seq[string] first type mismatch at position: 2 - required type: string + required type for sep: string but expression '{':'}' is of type: set[char] expression: rsplit("abc:def", {':'}, maxsplits = 1) diff --git a/tests/errmsgs/twrong_at_operator.nim b/tests/errmsgs/twrong_at_operator.nim index 5413515cb..7ce077003 100644 --- a/tests/errmsgs/twrong_at_operator.nim +++ b/tests/errmsgs/twrong_at_operator.nim @@ -1,11 +1,17 @@ discard """ errormsg: "type mismatch: got <array[0..0, type int]>" -line: 16 +line: 22 nimout: ''' -twrong_at_operator.nim(16, 30) Error: type mismatch: got <array[0..0, type int]> +twrong_at_operator.nim(22, 30) Error: type mismatch: got <array[0..0, type int]> but expected one of: proc `@`[T](a: openArray[T]): seq[T] + first type mismatch at position: 1 + required type for a: openarray[T] + but expression '[int]' is of type: array[0..0, type int] proc `@`[IDX, T](a: array[IDX, T]): seq[T] + first type mismatch at position: 1 + required type for a: array[IDX, T] + but expression '[int]' is of type: array[0..0, type int] expression: @[int] ''' diff --git a/tests/typerel/t7600_1.nim b/tests/typerel/t7600_1.nim index e3a5fefa2..e9d01bd0d 100644 --- a/tests/typerel/t7600_1.nim +++ b/tests/typerel/t7600_1.nim @@ -1,8 +1,11 @@ discard """ errormsg: "type mismatch: got <Thin[system.int]>" -nimout: '''t7600_1.nim(18, 6) Error: type mismatch: got <Thin[system.int]> +nimout: '''t7600_1.nim(21, 6) Error: type mismatch: got <Thin[system.int]> but expected one of: proc test[T](x: Paper[T]) + first type mismatch at position: 1 + required type for x: Paper[test.T] + but expression 'tn' is of type: Thin[system.int] expression: test tn''' """ diff --git a/tests/typerel/t7600_2.nim b/tests/typerel/t7600_2.nim index 7badb69cf..371707f4c 100644 --- a/tests/typerel/t7600_2.nim +++ b/tests/typerel/t7600_2.nim @@ -1,8 +1,11 @@ discard """ errormsg: "type mismatch: got <Thin>" -nimout: '''t7600_2.nim(17, 6) Error: type mismatch: got <Thin> +nimout: '''t7600_2.nim(20, 6) Error: type mismatch: got <Thin> but expected one of: proc test(x: Paper) + first type mismatch at position: 1 + required type for x: Paper + but expression 'tn' is of type: Thin expression: test tn''' """ diff --git a/tests/varres/tprevent_forloopvar_mutations.nim b/tests/varres/tprevent_forloopvar_mutations.nim index 43cc04f30..398191658 100644 --- a/tests/varres/tprevent_forloopvar_mutations.nim +++ b/tests/varres/tprevent_forloopvar_mutations.nim @@ -1,10 +1,12 @@ discard """ errmsg: "type mismatch: got <int>" - line: 15 + line: 17 nimout: '''type mismatch: got <int> but expected one of: proc inc[T: Ordinal | uint | uint64](x: var T; y = 1) - for a 'var' type a variable needs to be passed, but 'i' is immutable + first type mismatch at position: 1 + required type for x: var T: Ordinal or uint or uint64 + but expression 'i' is immutable, not 'var' expression: inc i ''' |