more informative error msg for undeclared field (A(badfield: 1) and a.badfield = expr) (#17777)
This commit is contained in:
parent
65f6b66820
commit
3619a5a2aa
3 changed files with 55 additions and 3 deletions
40
tests/errmsgs/tundeclared_field.nim
Normal file
40
tests/errmsgs/tundeclared_field.nim
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
discard """
|
||||
cmd: '''nim check --hints:off $file'''
|
||||
action: reject
|
||||
nimout: '''
|
||||
tundeclared_field.nim(25, 12) Error: undeclared field: 'bad' for type tundeclared_field.A [type declared in tundeclared_field.nim(22, 8)]
|
||||
tundeclared_field.nim(30, 16) Error: undeclared field: 'bad' for type tundeclared_field.A [type declared in tundeclared_field.nim(28, 8)]
|
||||
tundeclared_field.nim(36, 4) Error: undeclared field: 'bad' for type tundeclared_field.A [type declared in tundeclared_field.nim(33, 8)]
|
||||
tundeclared_field.nim(40, 13) Error: cannot instantiate Foo [type declared in tundeclared_field.nim(39, 8)]
|
||||
'''
|
||||
"""
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# line 20
|
||||
block:
|
||||
type A = object
|
||||
a0: int
|
||||
var a: A
|
||||
discard a.bad
|
||||
|
||||
block:
|
||||
type A = object
|
||||
a0: int
|
||||
var a = A(bad: 0)
|
||||
|
||||
block:
|
||||
type A = object
|
||||
a0: int
|
||||
var a: A
|
||||
a.bad = 0
|
||||
|
||||
block:
|
||||
type Foo[T: SomeInteger] = object
|
||||
var a: Foo[float]
|
||||
Loading…
Add table
Add a link
Reference in a new issue