summary refs log tree commit diff stats
path: root/tests/assign/moverload_asgn2.nim
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2015-04-06 23:20:41 +0200
committerAraq <rumpf_a@web.de>2015-04-06 23:21:52 +0200
commit05e39cf6ad431003ed7b8388b559009e88c00e47 (patch)
tree210f3d70427e80198851740559ed949fadad5e96 /tests/assign/moverload_asgn2.nim
parent78f371c03a4c9a43ecf4764596ba62142d257f9e (diff)
downloadNim-05e39cf6ad431003ed7b8388b559009e88c00e47.tar.gz
overloading of '=' works
Diffstat (limited to 'tests/assign/moverload_asgn2.nim')
-rw-r--r--tests/assign/moverload_asgn2.nim10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/assign/moverload_asgn2.nim b/tests/assign/moverload_asgn2.nim
new file mode 100644
index 000000000..6620adbeb
--- /dev/null
+++ b/tests/assign/moverload_asgn2.nim
@@ -0,0 +1,10 @@
+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