Changes

Jump to: navigation, search

Oxidation

1,259 bytes added, 10:57, 12 June 2018
Blockers and obstacles
This section lists areas where Rust integration could be improved.
 
 
* Crossing the C++/Rust boundary layer can be difficult, and is relatively slow due to no inlining.
** Bindgen can be tricky, especially working around clang bugs in different versions and on different platforms
* Android is currently [https://forge.rust-lang.org/platform-support.html not a Tier 1 platform].
** rillian: "As I understand it, the problem is no one has set up tests on a cloud service, so there's no way for upstream to gate work on Android regressions. Qemu emulation is too slow. There aren't many services with arm support, but there are a couple of new options. If someone does the work of setting something up we should be able to get the Rust team to adopt it."
* Integration with Gecko often requires adding wrapper/glue code. Such code is typically valuable and reusable, however.
* Sharing components between Gecko and Servo is difficult.
** The workflow is annoying and inefficient. Furthermore, permission to land directly on autoland is sometimes needed to fix problems, but few people have that.
*** vcs-sync/Phabricator/Lando will hopefully fix this.
** There are continuous integration mismatches.
** Servo CI is potentially under-resourced.
** This is not relevant for Gecko-only Rust components, however.
 
 
* Tracking bug: Make the developer experience for Firefox + Rust great: {{Bug|rust-great}}
* Compile speedand memory usage
** Incremental compilation ([https://github.com/rust-lang/rust/labels/A-incr-comp A-incr-comp issues], [https://github.com/rust-lang/rust/labels/WG-compiler-incr WG-compiler-incr issues])
** [https://github.com/rust-lang/rust/pull/44841 ThinLTO]
Confirm
1,345
edits

Navigation menu