Hi,
As of
bug 176811, we now use C++20 for all our C++ code.
That means you should be able to do things like initializing your bitfields inline now, along with a lot of
other language features :)
There are probably also some follow-up opportunities:
- I think some of the `FMT_STRING` clunkiness could be cleaned up.
- MOZ_LIKELY / MOZ_UNLIKELY could be moved to the standard `[[likely]]` and `[[unlikely]]` macros.
- Tons of constexpr stuff could be improved.
- Maybe std::span could be used instead of mozilla::Span.
And probably tons of others I'm missing.
Anyways, this took a surprising amount of work, see the bug for details. Chris Peterson did most of it (thanks!), I just pushed it over the finish line. Thanks to everyone else who helped too (and to Mike for all the reviews as usual :P).
Cheers,
-- Emilio