Changes

Jump to: navigation, search

Oxidation

363 bytes removed, 15:33, 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 speed and memory usage
* Debugging: improve gdb and lldb support for Rust. The first step is to establish Rust language support in DWARF distinct from the existing C++ support.
* Bindings/interop
** Immature rust-bindgen and cbindgen tools for general cross-language support. Working aroudn clang bugs in different versions and on different platforms can be tricky.
** No IPDL binding generator ({{bug|1379739}})
** No WebIDL binding generator for DOM components (Servo must have something here?)
* 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."
* Management (landing, merging, etc.) of Shared Gecko/Servo components
** The workflow is annoying and inefficient. Furthermore, permission to land directly on autoland is sometimes needed to fix problems, but few people have that.
** There are continuous integration mismatches.
** Servo CI is potentially under-resourced.
** This is not relevant for Gecko-only Rust components, however.
* Remaining minor crash report issues {{bug|1348896}}
* IDE/symbol lookup support?
Confirm
1,345
edits

Navigation menu