summary refs log tree commit diff stats
path: root/tests/ccgbugs
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2017-02-26 16:17:33 +0100
committerAraq <rumpf_a@web.de>2017-02-26 17:41:00 +0100
commitfb37d13f46af037aa5f40f0715e4513f515f5de2 (patch)
tree0544af6dab79a5679e678f6fcb1391a54ee4ef54 /tests/ccgbugs
parent53f4bdad236c69f0e582a9aaa8bc74dc504d841c (diff)
downloadNim-fb37d13f46af037aa5f40f0715e4513f515f5de2.tar.gz
fixes #5439
Diffstat (limited to 'tests/ccgbugs')
-rw-r--r--tests/ccgbugs/twrong_method.nim27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/ccgbugs/twrong_method.nim b/tests/ccgbugs/twrong_method.nim
new file mode 100644
index 000000000..9879c6114
--- /dev/null
+++ b/tests/ccgbugs/twrong_method.nim
@@ -0,0 +1,27 @@
+discard """
+  cmd: "nim c -d:release $file"
+  output: '''correct method'''
+"""
+# bug #5439
+type
+  Control* = ref object of RootObj
+
+  ControlImpl* = ref object of Control
+
+  Container* = ref object of ControlImpl
+
+  ContainerImpl* = ref object of Container
+
+method testProc*(control: Control) {.base.} = echo "wrong method"
+
+method testProc*(container: Container) = echo "correct method"
+
+proc main()
+
+main() # wrong method called
+
+proc main() =
+  var container = new ContainerImpl
+  container.testProc()
+
+# main() # correct method called