tvarargs_vs_generic.nim 451 B

123456789101112131415161718192021222324252627
  1. discard """
  2. output: "direct\ngeneric\ngeneric"
  3. """
  4. proc withDirectType(args: string) =
  5. echo "direct"
  6. proc withDirectType[T](arg: T) =
  7. echo "generic"
  8. proc withOpenArray(args: openarray[string]) =
  9. echo "openarray"
  10. proc withOpenArray[T](arg: T) =
  11. echo "generic"
  12. proc withVarargs(args: varargs[string]) =
  13. echo "varargs"
  14. proc withVarargs[T](arg: T) =
  15. echo "generic"
  16. withDirectType "string"
  17. withOpenArray "string"
  18. withVarargs "string"