diff options
author | Bung <crc32@qq.com> | 2022-12-23 18:32:03 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-23 11:32:03 +0100 |
commit | ca9c74391a2169be0b0e5c7b6705eaf9560a44bd (patch) | |
tree | 2c8805a27a2f46377c992c6d923a275085c3580a /tests | |
parent | 13251c2ac9c7e76fb506eeb686a5e5d19d67d0de (diff) | |
download | Nim-ca9c74391a2169be0b0e5c7b6705eaf9560a44bd.tar.gz |
fix #11634 (#21146)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/misc/t11634.nim | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/misc/t11634.nim b/tests/misc/t11634.nim new file mode 100644 index 000000000..4ecb6a53c --- /dev/null +++ b/tests/misc/t11634.nim @@ -0,0 +1,20 @@ +discard """ + action: reject + nimout: ''' +t11634.nim(20, 7) Error: cannot destructure to compile time variable +''' +""" + +type Foo = ref object + val: int + +proc divmod(a, b: Foo): (Foo, Foo) = + ( + Foo(val: a.val div b.val), + Foo(val: a.val mod b.val) + ) + +block: + let a {.compileTime.} = Foo(val: 2) + let b {.compileTime.} = Foo(val: 3) + let (c11634 {.compileTime.}, d11634 {.compileTime.}) = divmod(a, b) |