diff options
Diffstat (limited to 'tests/concepts/t3330.nim')
-rw-r--r-- | tests/concepts/t3330.nim | 50 |
1 files changed, 28 insertions, 22 deletions
diff --git a/tests/concepts/t3330.nim b/tests/concepts/t3330.nim index a4fff7fb3..901f8d2f4 100644 --- a/tests/concepts/t3330.nim +++ b/tests/concepts/t3330.nim @@ -1,48 +1,55 @@ discard """ +matrix: "--mm:refc" errormsg: "type mismatch: got <Bar[system.int]>" nimout: ''' -t3330.nim(63, 4) Error: type mismatch: got <Bar[system.int]> +t3330.nim(70, 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) -proc add(x: var string; y: string) first type mismatch at position: 1 - required type: var string - but expression 'k' is of type: Alias + required type for foo: Foo[int] + but expression 'bar' is of type: Bar[system.int] +t3330.nim(55, 8) Hint: Non-matching candidates for add(k, string, T) 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 -proc add(result: var string; x: int64) - first type mismatch at position: 1 - required type: var string - but expression 'k' is of type: Alias -proc add(result: var string; x: float) +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(x: var string; y: cstring) +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[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[T](x: var seq[T]; y: T) +proc add[T](x: var seq[T]; y: sink 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 -t3330.nim(48, 8) template/generic instantiation from here -t3330.nim(55, 6) Foo: 'bar.value' cannot be assigned to -t3330.nim(48, 8) template/generic instantiation from here -t3330.nim(56, 6) Foo: 'bar.x' cannot be assigned to +t3330.nim(55, 8) template/generic instantiation of `add` from here +t3330.nim(62, 6) Foo: 'bar.value' cannot be assigned to +t3330.nim(55, 8) template/generic instantiation of `add` from here +t3330.nim(63, 6) Foo: 'bar.x' cannot be assigned to expression: test(bar)''' """ + + + + + + + + + + +## line 60 type Foo[T] = concept k add(k, string, T) @@ -61,4 +68,3 @@ proc test(foo: Foo[int]) = var bar = Bar[int]() bar.test() - |