diff options
Diffstat (limited to 'tests/concepts/t3330.nim')
-rw-r--r-- | tests/concepts/t3330.nim | 47 |
1 files changed, 19 insertions, 28 deletions
diff --git a/tests/concepts/t3330.nim b/tests/concepts/t3330.nim index 067e81133..901f8d2f4 100644 --- a/tests/concepts/t3330.nim +++ b/tests/concepts/t3330.nim @@ -1,55 +1,47 @@ discard """ +matrix: "--mm:refc" errormsg: "type mismatch: got <Bar[system.int]>" -disabled: "32bit" nimout: ''' -t3330.nim(78, 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]) 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(x: var string; y: string) +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 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) - 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 but expression 'k' is of type: Alias -proc add(x: var string; y: char) +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(result: var string; x: int64) +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[T](x: var seq[T]; y: sink T) first type mismatch at position: 1 - required type for result: var string + 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 -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 +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)''' """ -# 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 + + + + @@ -76,4 +68,3 @@ proc test(foo: Foo[int]) = var bar = Bar[int]() bar.test() - |