discard """
  line: 18
  errormsg: "type mismatch"
"""

type
  TObj = object {.pure, inheritable.}
  TObjB = object of TObj
    a, b, c: string
    fn: proc (): int {.tags: [].}



proc raiser(): int {.tags: [TObj, WriteIoEffect].} =
  writeLine stdout, "arg"

var o: TObjB
o.fn = raiser