diff options
author | metagn <metagngn@gmail.com> | 2023-09-19 10:14:55 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-19 09:14:55 +0200 |
commit | 51cb493b221e704efce126049f9f320eb1cb1a36 (patch) | |
tree | 674f43248692a3c9269e5e93161fc49dc8130bae /tests/stdlib/tstrutils.nim | |
parent | b542be1e7de067573370a3159b0812396309ef8b (diff) | |
download | Nim-51cb493b221e704efce126049f9f320eb1cb1a36.tar.gz |
make parseEnum skip type aliases for enum type sym (#22727)
fixes #22726
Diffstat (limited to 'tests/stdlib/tstrutils.nim')
-rw-r--r-- | tests/stdlib/tstrutils.nim | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/tests/stdlib/tstrutils.nim b/tests/stdlib/tstrutils.nim index 847e22656..9cc65f218 100644 --- a/tests/stdlib/tstrutils.nim +++ b/tests/stdlib/tstrutils.nim @@ -679,11 +679,22 @@ template main() = doAssert b == f2 doAssert c == f3 - block: # parseEnum TODO: merge above - type MyEnum = enum enA, enB, enC, enuD, enE - doAssert parseEnum[MyEnum]("enu_D") == enuD + block: + type MyEnum = enum enA, enB, enC, enuD, enE + doAssert parseEnum[MyEnum]("enu_D") == enuD - doAssert parseEnum("invalid enum value", enC) == enC + doAssert parseEnum("invalid enum value", enC) == enC + + block: # issue #22726 + type SomeEnum = enum A, B, C + + proc assignEnum(dest: var enum, s: string) = + type ty = typeof(dest) + dest = parseEnum[ty](s) + + var v: SomeEnum + v.assignEnum("A") + doAssert v == A block: # indentation doAssert 0 == indentation """ |