Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-08-04 | Fix test_none_collisions on 32-bit systems (#69) | Elvis Pranskevichus | |
There are two issues at play here: 1. Python version of `map_hash` unnecessarily performs hash truncation even if the hash is already 32-bit wide, which potentially converts it from signed int to unsigned long. 2. The `test_none_collisions` test generates a collision node with hash greater than 2^32. Both of these are problematic on 32-bit systems, where `sizeof(Py_hash_t)` is 4, and so anything that doesn't fit into `Py_hash_t` gets bit-mangled, breaking the `hash(x) != x` invariance that the test relies upon. Fixes: #53 Fixes: #50 | |||
2021-08-03 | Add in mypy tests | Michael J. Sullivan | |
2021-02-09 | Fix flake8 errors and add it to CI (#45) | Taneli Hukkinen | |
* Fix flake8 errors and add it to CI * Use extras for test dependencies Co-authored-by: Fantix King <fantix.king@gmail.com> | |||
2021-02-09 | Make __repr__ more similar to other mapping types (#58) | Ofek Lev | |
2020-05-17 | Unbreak CI | Yury Selivanov | |
2020-05-17 | Accept None as a key in pure python module (#42) | TIGirardi | |
2020-05-13 | Fix errors when a kwarg is named "col" (#35) | Taneli Hukkinen | |
2020-04-22 | A bunch of fixes | Yury Selivanov | |
* Fix #26: `ifdef NDEBUG` should be `ifndef NDEBUG` * More tests for #24 * Add a `DEBUG_IMMUTABLES` env var to build debug builds | |||
2020-04-22 | Fix the mutation API to maintain elements count correctly (#25, #24) | TIGirardi | |
2019-11-02 | Add Python 3.8 support (#16) | Bruno Oliveira | |
Fix #15 | |||
2019-10-03 | Add typing information (#13) | Anton Agestam | |
2018-12-13 | Don't allow MapMutation.update() calls after the mutation is finished | Yury Selivanov | |
2018-12-13 | Add MapMutation.update(); make creating Map from a Map faster; fix bugs | Yury Selivanov | |
* Add new MapMutation.update() method that behaves like MutableMapping.update() * Make it faster to create a Map() from another Map() -- it's now an O(1) operation. * update() method had a bug that could cause the update Map object to have a wrong number of elements. | |||
2018-11-20 | Make MapMutation unpickleable | Yury Selivanov | |
2018-11-20 | Fix error message: "has been finalized" -> "has been finished" | Yury Selivanov | |
2018-11-20 | Rename .finalize() to .finish() | Yury Selivanov | |
2018-11-20 | Make MapMutation a context manager | Yury Selivanov | |
2018-11-20 | Implement mutable mapping API for MapMutation; add after-finalize checks | Yury Selivanov | |
2018-11-20 | Implement pickle support | Yury Selivanov | |
2018-11-20 | Fix .keys() and other views to support being iterated more than once | Yury Selivanov | |
2018-11-20 | Implement Map.update(); support initializing Map from dict/iter/map | Yury Selivanov | |
2018-11-20 | Implement Map.mutate() method | Yury Selivanov | |
2018-05-01 | Reject keyword and positional arguments in __new__. Fixes #2. | Yury Selivanov | |
2018-04-07 | pymap: Streamline .assoc() method | Yury Selivanov | |
2018-04-03 | Coverage: 100% | Yury Selivanov | |
2018-04-03 | Make Map a subclass of collecitons.abc.Mapping | Yury Selivanov | |
2018-04-03 | Change Map.delete(key): raise a KeyError if key is not in the map | Yury Selivanov | |
2018-04-02 | Add pure Python implementation (compatible with PyPy) | Yury Selivanov | |
2018-04-01 | Implement Map.__hash__ | Yury Selivanov | |
2018-04-01 | Implement __repr__ | Yury Selivanov | |
2018-03-31 | immutables v0.2v0.2 | Elvis Pranskevichus | |
2018-03-30 | Do not use f-strings for Python 3.5 compatibility | Elvis Pranskevichus | |
2018-03-30 | Initial commit | Yury Selivanov | |