blob: 86dcf41629c4cfd1f11147fade5112ac721ff152 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
discard """
matrix: "--mm:refc; --mm:orc"
targets: "c cpp js"
"""
import std/assertions
# bug #20227
type
Data = object
id: int
Test = distinct Data
Object = object
data: Test
var x: Object = Object(data: Test(Data(id: 12)))
doAssert Data(x.data).id == 12
block: # bug #16771
type A = object
n: int
proc foo(a, b: var A) =
swap a, b
var a, b: A
a.n = 42
b.n = 1
doAssert a.n == 42
doAssert b.n == 1
a.swap b
doAssert a.n == 1
doAssert b.n == 42
a.foo b
doAssert a.n == 42
doAssert b.n == 1
|