I'm loving the pace of the release cycle! I don't think I can hold off the temptation to try it out - it's too shiny!
We're hoping to do more showing off of our production users in the future. Getting more production Rust in the wild is a big personal goal for me this year.
Q: Which companies use rust in production?
A: Dropbox, Mozilla, Skylight, OneSignal, etc with links to the relevant tech blog posts.
I think there once was such a Q but it seems to have gone or I can't find it anymore.
So it begins.
I don't think we intended to ship the Rust bits by default, but we didn't disable them for release builds, so there you go. It is pretty tiny, just a little bit of mp4 parsing code that (IIRC) we're running in parallel with the existing C++ code:
If you run your Firefox from a console and browse sites that serve you shady mp4 files you can see the occasional panic message as it fails to parse something! :)
If I understand correctly, having it disabled on Firefox 45 beta broke the build because of a script that tests whether the beta build config matches the nightly config. This forced a decision, and release engineering opted to enable it. So it wasn't planned long in advance, but it was a conscious decision at the time 45 went to beta.
It's a pretty small bit of code right now, and it's not on the critical path for anything, so I don't think it's harmful.
The goal here was a single binary that would work on most modern Linux distributions, and which could make some HTTP calls and then exec another program, typically all from inside a Docker container.
Rust was a bit overkill for this, but we already had a couple of the necessary libraries available from in-house experiments, and it was fun to write. The two best features of Rust for this project were: (1) If the program compiled, there was a 95+% chance it would work flawlessly on the first try, and (2) Cargo was really just lovely all around.