]> git.lizzy.rs Git - rust.git/commit
rollup merge of #19216: Gankro/bitv
authorAlex Crichton <alex@alexcrichton.com>
Mon, 22 Dec 2014 20:45:52 +0000 (12:45 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Mon, 22 Dec 2014 20:45:52 +0000 (12:45 -0800)
commit2f55a9db0de8b2a2d72c7139eae38272d4d8cf41
treefa4b31ed3a8f93b6caaf7e9ac725cd7276816df3
parent34d680009205de2302b902d8f9f5f7ae7a042f1a
parent20d7a5fc3cc33ed39aff7e5879e6f73d64cb0474
rollup merge of #19216: Gankro/bitv

Part of #18424

This commit changes the semantics of `reserve` and `capacity` for Bitv and BitvSet to match conventions. It also introduces the notion of `reserve_index` and `reserve_index_exact` for collections with maximum-index-based capacity semantics.

Deprecates free function constructors in favour of functions on Bitv itself.

Changes `Bitv::pop` to return an Option rather than panicking.

Deprecates and renames several methods in favour of conventions.

Marks several blessed methods as unstable.

This commit also substantially refactors Bitv and BitvSet's implementations. The new implementation is simpler, cleaner, better documented, and more robust against overflows. It also reduces coupling between Bitv and BitvSet. Tests have been seperated into seperate submodules.

Fixes #16958

[breaking-change]
src/libcollections/bit.rs