summary refs log tree commit diff stats
path: root/tests/errmsgs
diff options
context:
space:
mode:
authorTimothee Cour <timothee.cour2@gmail.com>2021-05-16 10:03:22 -0700
committerGitHub <noreply@github.com>2021-05-16 10:03:22 -0700
commit3619a5a2aa1c7387ec7df01b195bc683943654ff (patch)
tree3c36ca5452ad58407b89c8244211bbe4f3608adf /tests/errmsgs
parent65f6b6682027d030279d9aa5b0b6f9bbc3cf5123 (diff)
downloadNim-3619a5a2aa1c7387ec7df01b195bc683943654ff.tar.gz
more informative error msg for undeclared field (`A(badfield: 1)` and `a.badfield = expr`) (#17777)
Diffstat (limited to 'tests/errmsgs')
-rw-r--r--tests/errmsgs/tundeclared_field.nim40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/errmsgs/tundeclared_field.nim b/tests/errmsgs/tundeclared_field.nim
new file mode 100644
index 000000000..2b274ae58
--- /dev/null
+++ b/tests/errmsgs/tundeclared_field.nim
@@ -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]