discard """ file: "toverl3.nim" output: '''m1 tup1''' """ # Tests more specific generic match: proc m[T](x: T) = echo "m2" proc m[T](x: var ref T) = echo "m1" proc tup[S, T](x: tuple[a: S, b: ref T]) = echo "tup1" proc tup[S, T](x: tuple[a: S, b: T]) = echo "tup2" var obj: ref int tu: tuple[a: int, b: ref bool] m(obj) tup(tu)