diff options
author | Araq <rumpf_a@web.de> | 2019-09-05 16:44:50 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2019-09-05 16:45:07 +0200 |
commit | 0882a09986b0e7d2be70cc034df80d8c322cdf75 (patch) | |
tree | c001bd9fef7a7cac080fc99d33c454b2fb7f5a77 | |
parent | 49f63d3aaed200d01ef5cd806f0079cbdfb81788 (diff) | |
download | Nim-0882a09986b0e7d2be70cc034df80d8c322cdf75.tar.gz |
fixes a subtle tables.nim regression
-rw-r--r-- | lib/pure/collections/tables.nim | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/lib/pure/collections/tables.nim b/lib/pure/collections/tables.nim index 1352bdf68..967a6726f 100644 --- a/lib/pure/collections/tables.nim +++ b/lib/pure/collections/tables.nim @@ -307,6 +307,22 @@ proc initTable*[A, B](initialSize = defaultInitialSize): Table[A, B] = b = initTable[char, seq[int]]() initImpl(result, initialSize) +proc `[]=`*[A, B](t: var Table[A, B], key: A, val: B) = + ## Inserts a ``(key, value)`` pair into ``t``. + ## + ## See also: + ## * `[] proc<#[],Table[A,B],A>`_ for retrieving a value of a key + ## * `hasKeyOrPut proc<#hasKeyOrPut,Table[A,B],A,B>`_ + ## * `mgetOrPut proc<#mgetOrPut,Table[A,B],A,B>`_ + ## * `del proc<#del,Table[A,B],A>`_ for removing a key from the table + runnableExamples: + var a = initTable[char, int]() + a['x'] = 7 + a['y'] = 33 + doAssert a == {'x': 7, 'y': 33}.toTable + + putImpl(enlarge) + proc toTable*[A, B](pairs: openArray[(A, B)]): Table[A, B] = ## Creates a new hash table that contains the given ``pairs``. ## @@ -362,22 +378,6 @@ proc `[]`*[A, B](t: var Table[A, B], key: A): var B = ## the table get(t, key) -proc `[]=`*[A, B](t: var Table[A, B], key: A, val: B) = - ## Inserts a ``(key, value)`` pair into ``t``. - ## - ## See also: - ## * `[] proc<#[],Table[A,B],A>`_ for retrieving a value of a key - ## * `hasKeyOrPut proc<#hasKeyOrPut,Table[A,B],A,B>`_ - ## * `mgetOrPut proc<#mgetOrPut,Table[A,B],A,B>`_ - ## * `del proc<#del,Table[A,B],A>`_ for removing a key from the table - runnableExamples: - var a = initTable[char, int]() - a['x'] = 7 - a['y'] = 33 - doAssert a == {'x': 7, 'y': 33}.toTable - - putImpl(enlarge) - proc hasKey*[A, B](t: Table[A, B], key: A): bool = ## Returns true if ``key`` is in the table ``t``. ## @@ -1285,6 +1285,22 @@ proc initOrderedTable*[A, B](initialSize = defaultInitialSize): OrderedTable[A, b = initOrderedTable[char, seq[int]]() initImpl(result, initialSize) +proc `[]=`*[A, B](t: var OrderedTable[A, B], key: A, val: B) = + ## Inserts a ``(key, value)`` pair into ``t``. + ## + ## See also: + ## * `[] proc<#[],OrderedTable[A,B],A>`_ for retrieving a value of a key + ## * `hasKeyOrPut proc<#hasKeyOrPut,OrderedTable[A,B],A,B>`_ + ## * `mgetOrPut proc<#mgetOrPut,OrderedTable[A,B],A,B>`_ + ## * `del proc<#del,OrderedTable[A,B],A>`_ for removing a key from the table + runnableExamples: + var a = initOrderedTable[char, int]() + a['x'] = 7 + a['y'] = 33 + doAssert a == {'x': 7, 'y': 33}.toOrderedTable + + putImpl(enlarge) + proc toOrderedTable*[A, B](pairs: openArray[(A, B)]): OrderedTable[A, B] = ## Creates a new ordered hash table that contains the given ``pairs``. ## @@ -1342,22 +1358,6 @@ proc `[]`*[A, B](t: var OrderedTable[A, B], key: A): var B = ## key is in the table get(t, key) -proc `[]=`*[A, B](t: var OrderedTable[A, B], key: A, val: B) = - ## Inserts a ``(key, value)`` pair into ``t``. - ## - ## See also: - ## * `[] proc<#[],OrderedTable[A,B],A>`_ for retrieving a value of a key - ## * `hasKeyOrPut proc<#hasKeyOrPut,OrderedTable[A,B],A,B>`_ - ## * `mgetOrPut proc<#mgetOrPut,OrderedTable[A,B],A,B>`_ - ## * `del proc<#del,OrderedTable[A,B],A>`_ for removing a key from the table - runnableExamples: - var a = initOrderedTable[char, int]() - a['x'] = 7 - a['y'] = 33 - doAssert a == {'x': 7, 'y': 33}.toOrderedTable - - putImpl(enlarge) - proc hasKey*[A, B](t: OrderedTable[A, B], key: A): bool = ## Returns true if ``key`` is in the table ``t``. ## |