mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 09:24:36 +00:00
83 lines
1.2 KiB
Nim
83 lines
1.2 KiB
Nim
discard """
|
|
output: '''true
|
|
(999, 0)
|
|
ok 0
|
|
ok 1
|
|
ok 2
|
|
'''
|
|
"""
|
|
|
|
|
|
block tissue600:
|
|
for i in 1..1:
|
|
var reported = false
|
|
proc report() =
|
|
reported = true
|
|
|
|
|
|
|
|
import sequtils
|
|
block tissue1502def:
|
|
let xs: seq[tuple[key: string, val: seq[string]]] = @[("foo", @["bar"])]
|
|
|
|
let maps = xs.map(
|
|
proc(x: auto): tuple[typ: string, maps: seq[string]] =
|
|
(x.key, x.val.map(proc(x: string): string = x)))
|
|
|
|
|
|
|
|
block tissue1642:
|
|
var i = 0
|
|
proc p() = inc(i)
|
|
|
|
|
|
|
|
block tissue1846:
|
|
type
|
|
TBinOp[T] = proc (x,y: T): bool
|
|
THeap[T] = object
|
|
cmp: TBinOp[T]
|
|
|
|
proc less[T](x,y: T): bool =
|
|
x < y
|
|
|
|
proc initHeap[T](cmp: TBinOp[T]): THeap[T] =
|
|
result.cmp = cmp
|
|
|
|
var h = initHeap[int](less[int])
|
|
echo h.cmp(2,3)
|
|
|
|
|
|
|
|
block tissue1911:
|
|
proc foo(x: int) : auto =
|
|
|
|
proc helper() : int = x
|
|
proc bar() : int = helper()
|
|
proc baz() : int = helper()
|
|
|
|
return (bar, baz)
|
|
|
|
# bug #11523
|
|
proc foo(): proc =
|
|
let a = 999
|
|
return proc(): (int, int) =
|
|
return (a, 0)
|
|
|
|
echo foo()()
|
|
|
|
|
|
block tissue7104:
|
|
proc sp(cb: proc())=
|
|
cb()
|
|
|
|
sp:
|
|
var i = 0
|
|
echo "ok ", i
|
|
sp():
|
|
inc i
|
|
echo "ok ", i
|
|
sp do:
|
|
inc i
|
|
echo "ok ", i
|