summary refs log tree commit diff stats
path: root/tests/method/tmultim1.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/method/tmultim1.nim')
-rw-r--r--tests/method/tmultim1.nim29
1 files changed, 0 insertions, 29 deletions
diff --git a/tests/method/tmultim1.nim b/tests/method/tmultim1.nim
deleted file mode 100644
index 010468a5b..000000000
--- a/tests/method/tmultim1.nim
+++ /dev/null
@@ -1,29 +0,0 @@
-discard """
-  file: "tmultim1.nim"
-  output: "7"
-"""
-# Test multi methods
-
-type
-  Expression = ref object {.inheritable.}
-  Literal = ref object of Expression
-    x: int
-  PlusExpr = ref object of Expression
-    a, b: Expression
-
-method eval(e: Expression): int {.base.} = quit "to override!"
-method eval(e: Literal): int = return e.x
-method eval(e: PlusExpr): int = return eval(e.a) + eval(e.b)
-
-proc newLit(x: int): Literal =
-  new(result)
-  result.x = x
-
-proc newPlus(a, b: Expression): PlusExpr =
-  new(result)
-  result.a = a
-  result.b = b
-
-echo eval(newPlus(newPlus(newLit(1), newLit(2)), newLit(4))) #OUT 7
-
-