Adds idetools testcase for dynamic dispatch. Refs #477.

This commit is contained in:
Grzegorz Adam Hankiewicz
2013-06-10 23:07:36 +02:00
parent b0ba4caf64
commit fe18117fb2
3 changed files with 25 additions and 0 deletions

1
.gitignore vendored
View File

@@ -171,6 +171,7 @@ examples/cross_calculator/android/tags
/tests/caas/imported
/tests/caas/issue_416_template_shift
/tests/caas/issue_452_export_shift
/tests/caas/issue_477_dynamic_dispatch
/tests/caas/main
/tests/caasdriver
/tools/nimgrep

View File

@@ -0,0 +1,19 @@
type
TThing = object of TObject
TUnit = object of TThing
x: int
method collide(a, b: TThing) {.inline.} =
quit "to override!"
method collide(a: TThing, b: TUnit) {.inline.} =
echo "collide1"
method collide(a: TUnit, b: TThing) {.inline.} =
echo "collide2"
var
a, b: TUnit
when isMainModule:
collide(a, b) # output: 2

View File

@@ -0,0 +1,5 @@
issue_477_dynamic_dispatch.nim
> c --run
SuccessX
> idetools --track:issue_477_dynamic_dispatch.nim,19,5 --def
def\tskMethod\tissue_477_dynamic_dispatch.collide\tproc \(TUnit, TThing\)\{.inline.\}