parent
f3c504e49a
commit
e25a487ed6
1 changed files with 50 additions and 0 deletions
50
tests/system/tstatic.nim
Normal file
50
tests/system/tstatic.nim
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
discard """
|
||||||
|
targets: "c cpp js"
|
||||||
|
"""
|
||||||
|
|
||||||
|
import std/strutils
|
||||||
|
|
||||||
|
# bug #6133
|
||||||
|
template main() =
|
||||||
|
block:
|
||||||
|
block:
|
||||||
|
proc foo(q: string, a: int): int =
|
||||||
|
result = q.len
|
||||||
|
|
||||||
|
proc foo(q: static[string]): int =
|
||||||
|
result = foo(q, 5)
|
||||||
|
|
||||||
|
doAssert foo("123") == 3
|
||||||
|
|
||||||
|
block:
|
||||||
|
type E = enum A
|
||||||
|
|
||||||
|
if false:
|
||||||
|
var e = A
|
||||||
|
discard $e
|
||||||
|
|
||||||
|
proc foo(a: string): int =
|
||||||
|
len(a) # 16640
|
||||||
|
|
||||||
|
proc foo(a: static[bool]): int {.used.} =
|
||||||
|
discard
|
||||||
|
|
||||||
|
doAssert foo("") == 0
|
||||||
|
|
||||||
|
block:
|
||||||
|
proc foo(a: string): int =
|
||||||
|
len(a)
|
||||||
|
|
||||||
|
proc foo(a: static[bool]): int {.used.} =
|
||||||
|
discard
|
||||||
|
|
||||||
|
doAssert foo("abc") == 3
|
||||||
|
|
||||||
|
block:
|
||||||
|
proc parseInt(f: static[bool]): int {.used.} = discard
|
||||||
|
|
||||||
|
doAssert "123".parseInt == 123
|
||||||
|
|
||||||
|
|
||||||
|
static: main()
|
||||||
|
main()
|
||||||
Loading…
Add table
Add a link
Reference in a new issue