mirror of
https://github.com/nim-lang/Nim.git
synced 2026-05-01 11:34:43 +00:00
allow dots in defined() (#20010)
* allow dots in defined() refs https://github.com/nim-lang/RFCs/issues/181 * mention accents in older versions
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
discard """
|
||||
joinable: false
|
||||
cmd: "nim c -d:booldef -d:booldef2=false -d:intdef=2 -d:strdef=foobar -r $file"
|
||||
cmd: "nim c -d:booldef -d:booldef2=false -d:intdef=2 -d:strdef=foobar -d:namespaced.define=false -d:double.namespaced.define -r $file"
|
||||
"""
|
||||
|
||||
const booldef {.booldefine.} = false
|
||||
@@ -27,4 +27,19 @@ type T = object
|
||||
when intdef2 == 1:
|
||||
field2: int
|
||||
when strdef2 == "abc":
|
||||
field3: int
|
||||
field3: int
|
||||
|
||||
doAssert not defined(booldef3)
|
||||
doAssert not defined(intdef2)
|
||||
doAssert not defined(strdef2)
|
||||
discard T(field1: 1, field2: 2, field3: 3)
|
||||
|
||||
doAssert defined(namespaced.define)
|
||||
const `namespaced.define` {.booldefine.} = true
|
||||
doAssert not `namespaced.define`
|
||||
|
||||
doAssert defined(double.namespaced.define)
|
||||
const `double.namespaced.define` {.booldefine.} = false
|
||||
doAssert `double.namespaced.define`
|
||||
|
||||
doAssert not defined(namespaced.butnotdefined)
|
||||
|
||||
Reference in New Issue
Block a user