import std/private/since import std/assertions proc fun1(): int {.since: (1, 3).} = 12 proc fun1Bad(): int {.since: (99, 3).} = 12 proc fun2(): int {.since: (1, 3, 1).} = 12 proc fun2Bad(): int {.since: (99, 3, 1).} = 12 doAssert fun1() == 12 doAssert declared(fun1) doAssert not declared(fun1Bad) doAssert fun2() == 12 doAssert declared(fun2) doAssert not declared(fun2Bad) var ok = false since (1, 3): ok = true doAssert ok ok = false since (1, 3, 1): ok = true doAssert ok since (99, 3): doAssert false template fun3(): int {.since: (1, 3).} = 12 doAssert declared(fun3)