Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the proper way to use bit array in Rust?

Tags:

rust

bitarray

I need a class with functionality equal to vector<bool> in C++. The Rust documentation tells about BitVec, but use std::collections::BitVec causes Unresolved import error during compiling. According to a pull request, BitVec has been removed. Is there any adequate replacement for it?

like image 306
Vercetti Avatar asked May 01 '17 09:05

Vercetti


1 Answers

There does not exist a dedicated bit-vector in the standard library and Vec<bool> is not specialized like C++'s vector<bool>. Rust advocates the use of external crates instead of building a huge standard library. The de-facto crate for this use case is bit-vec.

You appear to have found a link to an old standard library documentation: https://doc.rust-lang.org/1.2.0/std/collections/struct.BitVec.html. Note the 1.2.0 in the url! The current version of Rust is 1.25 (as of April 2018), which means that 1.2 is already more than two years old. Apart from that, BitVec is marked as unstable in the 1.2 docs; it was removed later.

like image 195
Lukas Kalbertodt Avatar answered Sep 17 '22 12:09

Lukas Kalbertodt