3 ms·
What a confusing codebase. https://github.com/mozilla/gecko-dev/tree/d36cf98aa85f24ceefd07521b3d16b9edd2abcb7/third_party/rust/xmldecl https://github.com/mozill
by kzrdude 5y ago
What a confusing codebase. https://github.com/mozilla/gecko-dev/tree/d36cf98aa85f24ceefd07521b3d16b9edd2abcb7/third_party/rust/xmldecl https://github.com/mozilla/gecko-dev/tree/d36cf98aa85f24ceef... This package documents a "minimum supported rust version" then goes on to set RUSTC_BOOTSTRAP (cirumventing, enabling experimental features). Very mixed signals - I'm pretty disappointed to see documentation say one thing and then the code do another.
I would suspect the developers are maybe not entirely in tune with the Rust ecosystem, and that would make sense, they have more important stuff to do, like building Firefox, than playing with Rust. :)
- steveklabnik 5y agoThey are well aware of what they’re doing. I personally find it extremely unfortunate but, nothing we can really do. Luckily as far as I know this is the only serious mis-use of the bootstrap flag. This would be a bigger problem if more people misused it. (And it has, in the past, when people used those packages. There was a relatively high-profile Debian situation about it a while back…)
- muizelaar 5y agoI'm pretty sure all uses of RUSTC_BOOTSTRAP are to get around limitations in Rust's SIMD support. The main users are encoding_rs which depends on packed_simd and qcms which needs NEON support. So it's not like we're going around using all sorts of unstable features. It's very targeted and at least in qcms's case unlikely to change before stabilization.
- deleted 5y ago[deleted]
- hsivonen 5y agoThe crate linked to from the comment you replied to uses RUSTC_BOOTSTRAP for a non-SIMD reason: To allow Firefox to be built with somewhat old rustc. Firefox no longer updates its MSRV in sync with Rust release trains. I’d be happy to remove this particular RUSTC_BOOTSTRAP if we decided to increase Firefox’s MSRV (currently stuck at 1.47.0).