9 releases

0.0.3 Jan 28, 2022
0.0.2 Nov 18, 2021
0.0.2-rc.10 Aug 11, 2021
0.0.2-rc.3 Jul 25, 2021

#2710 in Parser implementations

Used in 2 crates (via llvm-bitstream)

MIT license

564 lines


Crates.io Documentation

A no-frills cursor library that supports reading unaligned fields from a bitstream.

This library primarily exists to provide low-level support for the task of parsing LLVM's bitstream format. If you're looking for a general purpose bitvector handling library, try bitvec or bit-vec.


  • No-copy, all cursor state is internal
  • Support for LLVM's VBR encoding (requires the vbr feature)
  • 100% safe Rust, with #![forbid(unsafe_code)]
  • No use of unwrap, expect, or panic


  • Not a general purpose bitvector/bitstring handling library
  • Probably not very fast
  • Doesn't care about bit order (always LSB-first)


~30K SLoC