summary refs log tree commit diff stats
path: root/tests/errmsgs
diff options
context:
space:
mode:
authorBung <crc32@qq.com>2022-10-10 17:09:54 +0800
committerGitHub <noreply@github.com>2022-10-10 11:09:54 +0200
commitdb3d2971cf048b92c6a8420153da62f7bb907b21 (patch)
treec3d8f18e33190072560a8f52f9862d1b9689ede4 /tests/errmsgs
parent0f2775aacf8e62ad8cfbd33984f9549a9e57684c (diff)
downloadNim-db3d2971cf048b92c6a8420153da62f7bb907b21.tar.gz
fix #18886 crash on ambiguous proc cast (#20472)
* fix #18886 crash on ambiguous proc cast

* follow suggestion
Diffstat (limited to 'tests/errmsgs')
-rw-r--r--tests/errmsgs/t18886.nim18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/errmsgs/t18886.nim b/tests/errmsgs/t18886.nim
new file mode 100644
index 000000000..cad62d431
--- /dev/null
+++ b/tests/errmsgs/t18886.nim
@@ -0,0 +1,18 @@
+discard """
+  cmd: "nim check --hints:off $file"
+  errormsg: ""
+  nimout: '''
+t18886.nim(18, 24) Error: ambiguous identifier: 'bar' -- you need a helper proc to disambiguate the following:
+  t18886.bar: proc (i: ptr int){.noSideEffect, gcsafe, locks: 0.}
+  t18886.bar: proc (i: ptr char){.noSideEffect, gcsafe, locks: 0.}
+'''
+"""
+
+type Foo = (proc(_: pointer): void)
+
+
+proc bar(i: ptr[int]) = discard
+proc bar(i: ptr[char]) = discard
+
+
+let fooBar = cast[Foo](bar)
\ No newline at end of file