mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-01 10:52:14 +00:00
43 lines
708 B
Nim
43 lines
708 B
Nim
discard """
|
|
cmd: '''nim check --hints:off $file'''
|
|
action: reject
|
|
nimout: '''
|
|
t19986.nim(19, 7) Error: 'foo' borrows from the immutable location 'a' and attempts to mutate it
|
|
t19986.nim(28, 7) Error: 'foo' borrows from the immutable location 'a' and attempts to mutate it
|
|
t19986.nim(37, 7) Error: 'foo' borrows from the immutable location 'a' and attempts to mutate it
|
|
'''
|
|
"""
|
|
|
|
{.experimental: "views".}
|
|
|
|
type
|
|
Object = object
|
|
id: int
|
|
|
|
proc foo() =
|
|
let a = Object(id: 3)
|
|
var foo: var Object = a
|
|
|
|
foo.id = 777
|
|
echo a
|
|
|
|
foo()
|
|
|
|
proc bar() =
|
|
let a = "123"
|
|
var foo: var string = a
|
|
|
|
foo[0] = '7'
|
|
echo a
|
|
|
|
bar()
|
|
|
|
proc main() =
|
|
let a = 3
|
|
var foo: var int = a
|
|
|
|
foo = 777
|
|
echo a
|
|
|
|
main()
|