Given that all values of u8 are meanginful, there is no space for an extra
bit, so it is no surprise that it cannot be packed.

For pointers, for example, it is typical to exploit the fact that the null
pointer is a meaningless value and thus rely on this sentinel value to
encode the absence of value, but in general this is only possible if such a
sentinel value is possible to begin with.

-- Matthieu



On Wed, Jul 24, 2013 at 6:33 PM, Brendan Zabarauskas <bjz...@yahoo.com.au>wrote:

> On 25/07/2013, at 2:15 AM, Evan Martin <mart...@danga.com> wrote:
>
> Is an Option<u8> implemented as a pair of (type, value) or is it packed
> into a single word?
>
>
> A quick test shows:
>
>     rusti> std::sys::size_of::<Option<u8>>()
>     16
>
> ~Brendan
>
> _______________________________________________
> Rust-dev mailing list
> Rust-dev@mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev
>
>
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to