3 ms·
I would also like to not that encoding the the Option<char> using the unused bits of the return value is a perfectly valid implementation. But that is exactly w
by bloomer 7y ago
I would also like to not that encoding the the Option<char> using the unused bits of the return value is a perfectly valid implementation. But that is exactly what it is, an implementation detail. It could work exactly the same way as today but the programmer wouldn’t have to care about how it was implemented, just whether they got a char or None.
- dmit 7y agoIn fact, that's exactly what Rust already does today! Option<char> uses the exact same amount of bits to store as plain char, because the compiler has enough information to encode the Option-ness of char in what it knows is a garbage bit of the underlying type. https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=56fdd3cb74b645d729d9e49fb7250921 https://play.rust-lang.org/?version=stable&mode=debug&editio...
- steveklabnik 7y agoRust guarantees this, actually.