immutable-chunkmap 0.5.4

A cache efficient immutable map and set with lookup performance equivalent to BTreeMap and BTreeSet, and fast batch insert and update methods, and efficient implementations of all basic set operations.
Documentation
0.5.4
* Edition 2018

0.5.3
* implement Set::diff, and Map::diff, O(log(N) + M) where M is the
  number of intersecting chunks. Now all the fundamental set
  operations are implemented.
* rename Map::merge to Map::union. Sorry for the tiny break in
  semantic versioning, but given it was just released I don't
  think it's a huge problem to change it now.

0.5.2
* implement Set::intersect, and Map::intersect, O(log(N) + M)
  where M is the number of intersecting chunks.

0.5.1
* implement Set::union, and Map::merge, O(log(N) + M) where M is the
  number of intersecting chunks and N is the size of the largest
  tree. Should always be as fast as update_many from the other map's
  iterator, a lot faster in the case of a small intersection.
* remove my silly &mut F requirement for closure arguments to
  functions in the public interface. Sorry I'm still learning rust, I
  didn't know FnMut was also implemented by a &mut.

0.5.0
* implement map get_key, get_full
* implement set update_many
* fix some incorrect documentation
* BREAKING change map and set update functions so they are able to
  work with borrowed forms of the key

0.4.1
* implement get in the set module
* properly implement Ord, PartialOrd, Eq, PartialEq, Hash, and Debug

0.4.0
* add a set module
* remove the rc and arc modules. There is no observable performance
  difference between rc and arc, so just use arc everywhere. This is
  especially relevant because all the practical applications of this
  library than I know about require using Arc.
* BREAKING: fix return type of insert and remove to match BTreeMap

0.3.2
* fix a small performance regression in update_many caused by my last
  change

0.3.1
* fix a bug in update_many that could rarely cause a removed item not
  to be removed

0.3.0(yanked)
* BREAKING: change the name of insert_sorted to insert_many
* add update, and update_many
* insert 14% performance improvement
* insert_many 42% performance improvement on unsorted data, now faster
  than insert on random data

0.2.1
* BREAKING: change signature of insert to match BTreeMap as closely as
  possible. Sorry I was new to rust when I first wrote this module :-(

0.2.0
* iteration runs in constant space
* Implement collection range api
* Implement DoubleEndedIterator
* insert_sorted performance improved on degenerate cases
* BREAKING: insert_sorted now takes IntoIterator instead of an explicit slice
* BREAKING: change the name of length to len, like BTreeMap

0.1.2
* Initial public release