ptr-bool

tl;dr: a pointer and boolean with the same size as a pointer.

A convenience crate used to bitpack a boolean and pointer into the same eight bytes (four on 32-bit systems, two on 16-bit systems). This is done by storing the boolean in the one-bit of a two-aligned pointer.

Usually a pointer and a boolean would be padded to be 16 bytes together, while this method allows the pointer and boolean to fit inside of 8 bytes.

This project was inspired by the rust-gc project, which used this method for garbage collected references. I saw the method and thought that this was incredibly smart, so I created my own version with some convenience wrapping and made its own crate.

Caveats