used编译指示

Nim会对未导出但未使用的符号生成警告。 used 编译指示可以附加到符号以抑制此警告。 当符号由宏生成时,这尤其有用:

  1. template implementArithOps(T) =
  2. proc echoAdd(a, b: T) {.used.} =
  3. echo a + b
  4. proc echoSub(a, b: T) {.used.} =
  5. echo a - b
  6.  
  7. # 没有为未使用的'echoSub'发出警告
  8. implementArithOps(int)
  9. echoAdd 3, 5