summary refs log tree commit diff stats
path: root/tests/errmsgs/tdeclaredlocs.nim
blob: 926ebf2178c47410e8441cea5e4c96130e58541b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
discard """
  action: reject
  matrix: "--declaredLocs --hints:off"
  nimoutFull: true
  nimout: '''
tdeclaredlocs.nim(92, 3) Error: type mismatch: got <seq[MyInt2]>
but expected one of:
proc fn(a: Bam) [proc declared in tdeclaredlocs.nim(86, 6)]
  first type mismatch at position: 1
  required type for a: Bam [object declared in tdeclaredlocs.nim(78, 3)]
  but expression 'a' is of type: seq[MyInt2{char}] [char declared in tdeclaredlocs.nim(73, 3)]
proc fn(a: Goo[MyInt2]) [proc declared in tdeclaredlocs.nim(89, 6)]
  first type mismatch at position: 1
  required type for a: Goo[MyInt2{char}] [object declared in tdeclaredlocs.nim(79, 3)]
  but expression 'a' is of type: seq[MyInt2{char}] [char declared in tdeclaredlocs.nim(73, 3)]
proc fn(a: Goo[cint]) [proc declared in tdeclaredlocs.nim(88, 6)]
  first type mismatch at position: 1
  required type for a: Goo[cint{int32}] [object declared in tdeclaredlocs.nim(79, 3)]
  but expression 'a' is of type: seq[MyInt2{char}] [char declared in tdeclaredlocs.nim(73, 3)]
proc fn(a: array[3, Bar]) [proc declared in tdeclaredlocs.nim(82, 6)]
  first type mismatch at position: 1
  required type for a: array[0..2, Bar] [object declared in tdeclaredlocs.nim(74, 3)]
  but expression 'a' is of type: seq[MyInt2{char}] [char declared in tdeclaredlocs.nim(73, 3)]
proc fn(a: seq[Bar]) [proc declared in tdeclaredlocs.nim(81, 6)]
  first type mismatch at position: 1
  required type for a: seq[Bar] [object declared in tdeclaredlocs.nim(74, 3)]
  but expression 'a' is of type: seq[MyInt2{char}] [char declared in tdeclaredlocs.nim(73, 3)]
proc fn(a: seq[MyInt1]) [proc declared in tdeclaredlocs.nim(80, 6)]
  first type mismatch at position: 1
  required type for a: seq[MyInt1{int}] [int declared in tdeclaredlocs.nim(72, 3)]
  but expression 'a' is of type: seq[MyInt2{char}] [char declared in tdeclaredlocs.nim(73, 3)]
proc fn(a: set[Baz]) [proc declared in tdeclaredlocs.nim(84, 6)]
  first type mismatch at position: 1
  required type for a: set[Baz{enum}] [enum declared in tdeclaredlocs.nim(75, 3)]
  but expression 'a' is of type: seq[MyInt2{char}] [char declared in tdeclaredlocs.nim(73, 3)]
proc fn(a: set[MyInt2]) [proc declared in tdeclaredlocs.nim(83, 6)]
  first type mismatch at position: 1
  required type for a: set[MyInt2{char}] [char declared in tdeclaredlocs.nim(73, 3)]
  but expression 'a' is of type: seq[MyInt2{char}] [char declared in tdeclaredlocs.nim(73, 3)]
proc fn(a: var SetBaz) [proc declared in tdeclaredlocs.nim(85, 6)]
  first type mismatch at position: 1
  required type for a: var SetBaz [enum declared in tdeclaredlocs.nim(75, 3)]
  but expression 'a' is of type: seq[MyInt2{char}] [char declared in tdeclaredlocs.nim(73, 3)]
proc fn(a: var ref ptr Bam) [proc declared in tdeclaredlocs.nim(87, 6)]
  first type mismatch at position: 1
  required type for a: var ref ptr Bam [object declared in tdeclaredlocs.nim(78, 3)]
  but expression 'a' is of type: seq[MyInt2{char}] [char declared in tdeclaredlocs.nim(73, 3)]

expression: fn(a)
'''
"""

#[
see also: tests/errmsgs/tsigmatch.nim
]#














# line 70
type
  MyInt1 = int
  MyInt2 = char
  Bar = object
  Baz = enum k0, k1
  Baz2 = Baz
  SetBaz = set[Baz2]
  Bam = ref object
  Goo[T] = object
proc fn(a: seq[MyInt1]) = discard
proc fn(a: seq[Bar]) = discard
proc fn(a: array[3, Bar]) = discard
proc fn(a: set[MyInt2]) = discard
proc fn(a: set[Baz]) = discard
proc fn(a: var SetBaz) = discard
proc fn(a: Bam) = discard
proc fn(a: var ref ptr Bam) = discard
proc fn(a: Goo[cint]) = discard
proc fn(a: Goo[MyInt2]) = discard

var a: seq[MyInt2]
fn(a)