diff options
Diffstat (limited to 'tests/concepts/t3330.nim')
-rw-r--r-- | tests/concepts/t3330.nim | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/tests/concepts/t3330.nim b/tests/concepts/t3330.nim index a1ad96f2b..6bf52f3aa 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: "32bit" 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)''' """ +# 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 + + + + + + +## line 60 type Foo[T] = concept k add(k, string, T) |