summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
authorKier Davis <kierdavis@gmail.com>2016-07-09 17:34:01 +0100
committerKier Davis <kierdavis@gmail.com>2016-07-09 17:34:01 +0100
commit449960bf7e3cad1aa4f3e38e39582ac220237ecb (patch)
tree3235430b10b5642a9061f28f7dbdfb96fa2a2cbe /lib/pure
parent03902484199ac5cd05795aaf9923467161322aad (diff)
downloadNim-449960bf7e3cad1aa4f3e38e39582ac220237ecb.tar.gz
Add a fix for clear() on non-ref types by adding a missing 'var' annotation to the type signature
However, this fix won't take effect until a compiler bug (#4448) is fixed. Until then, the codebase functions identically to
how it did before this commit (calls to clear() fail to compile for Table/OrderedTable/CountTable as the argument is
immutable).
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/collections/tables.nim6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/pure/collections/tables.nim b/lib/pure/collections/tables.nim
index e454a43cb..3a0c50c50 100644
--- a/lib/pure/collections/tables.nim
+++ b/lib/pure/collections/tables.nim
@@ -85,7 +85,7 @@ template dataLen(t): expr = len(t.data)
 
 include tableimpl
 
-proc clear*[A, B](t: Table[A, B] | TableRef[A, B]) =
+proc clear*[A, B](t: var Table[A, B] | TableRef[A, B]) =
   ## Resets the table so that it is empty.
   clearImpl()
 
@@ -425,7 +425,7 @@ proc len*[A, B](t: OrderedTable[A, B]): int {.inline.} =
   ## returns the number of keys in `t`.
   result = t.counter
 
-proc clear*[A, B](t: OrderedTable[A, B] | OrderedTableRef[A, B]) =
+proc clear*[A, B](t: var OrderedTable[A, B] | OrderedTableRef[A, B]) =
   ## Resets the table so that it is empty.
   clearImpl()
   t.first = -1
@@ -754,7 +754,7 @@ proc len*[A](t: CountTable[A]): int =
   ## returns the number of keys in `t`.
   result = t.counter
 
-proc clear*[A](t: CountTable[A] | CountTableRef[A]) =
+proc clear*[A](t: var CountTable[A] | CountTableRef[A]) =
   ## Resets the table so that it is empty.
   clearImpl()
   t.counter = 0