fork download
  1. type
  2. A = ref object of RootObj
  3. AA = ref object of A
  4. BB = ref object of A
  5. CC = ref object of A
  6. E = ref object of RootObj
  7. field: A
  8.  
  9. method doSmt(a: A, i: int): iterator() = return iterator() = echo "A" & repr(i)
  10. method doSmt(a: AA, i: int): iterator() = return iterator() = echo "AA" & repr(i)
  11. method doSmt(a: BB, i: int): iterator() = return iterator() = echo "BB" & repr(i)
  12. method doSmt(a: CC, i: int): iterator() = return iterator() = echo "CC" & repr(i)
  13.  
  14. let a: A = AA()
  15. a.doSmt(1)()
  16.  
  17. let e: E = E(field: BB())
  18. e.field.doSmt(2)()
Success #stdin #stdout 0s 2428KB
stdin
Standard input is empty
stdout
AA1
BB2