mirror of
https://github.com/nim-lang/Nim.git
synced 2026-08-30 18:41:45 +00:00
add typetraits.OrdinalEnum, enumutils.symbolName (#17281)
This commit is contained in:
@@ -12,5 +12,26 @@ template main =
|
||||
doAssert A.toSeq == [a0, a1, a2]
|
||||
doAssert B[float].toSeq == [B[float].b0, B[float].b1]
|
||||
|
||||
block: # symbolName
|
||||
block:
|
||||
type A2 = enum a20, a21, a22
|
||||
doAssert $a21 == "a21"
|
||||
doAssert a21.symbolName == "a21"
|
||||
proc `$`(a: A2): string = "foo"
|
||||
doAssert $a21 == "foo"
|
||||
doAssert a21.symbolName == "a21"
|
||||
var a = a22
|
||||
doAssert $a == "foo"
|
||||
doAssert a.symbolName == "a22"
|
||||
|
||||
type B = enum
|
||||
b0 = (10, "kb0")
|
||||
b1 = "kb1"
|
||||
b2
|
||||
let b = B.low
|
||||
doAssert b.symbolName == "b0"
|
||||
doAssert $b == "kb0"
|
||||
static: doAssert B.high.symbolName == "b2"
|
||||
|
||||
static: main()
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user