Files
Nim/tests/stdlib/twith.nim
flywind bc1db0d6f1 move rest of tests to testament (#16140)
* move rest of tests to testament
* Update tests/stdlib/tsums.nim
2020-11-27 20:47:49 +01:00

24 lines
481 B
Nim

import std/with
type
Foo = object
col, pos: string
name: string
proc setColor(f: var Foo; r, g, b: int) = f.col = $(r, g, b)
proc setPosition(f: var Foo; x, y: float) = f.pos = $(x, y)
var f: Foo
with(f, setColor(2, 3, 4), setPosition(0.0, 1.0))
doAssert f.col == "(2, 3, 4)"
doAssert f.pos == "(0.0, 1.0)"
f = Foo()
with f:
col = $(2, 3, 4)
pos = $(0.0, 1.0)
_.name = "bar"
doAssert f.col == "(2, 3, 4)"
doAssert f.pos == "(0.0, 1.0)"
doAssert f.name == "bar"