summary refs log tree commit diff stats
path: root/tests/assign/moverload_asgn2.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/assign/moverload_asgn2.nim')
-rw-r--r--tests/assign/moverload_asgn2.nim14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/assign/moverload_asgn2.nim b/tests/assign/moverload_asgn2.nim
new file mode 100644
index 000000000..cfea48cd1
--- /dev/null
+++ b/tests/assign/moverload_asgn2.nim
@@ -0,0 +1,14 @@
+discard """
+  matrix: "--mm:refc"
+"""
+
+type
+  Concrete* = object
+    a*, b*: string
+    rc*: int # refcount
+
+proc `=`(d: var Concrete; src: Concrete) =
+  shallowCopy(d.a, src.a)
+  shallowCopy(d.b, src.b)
+  dec d.rc
+  d.rc = src.rc + 1