mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 09:24:36 +00:00
* fix: `var a{.foo.} = expr` inside templates
* add test
* improve tdecls test
* improve tests
* add failing test
* PRTEMP
* fixup
33 lines
629 B
Nim
33 lines
629 B
Nim
import std/private/since
|
|
|
|
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
|
|
|
|
when false:
|
|
# pending bug #15920
|
|
# Error: cannot attach a custom pragma to 'fun3'
|
|
template fun3(): int {.since: (1, 3).} = 12
|