Wishlist
Michael Woerister (Jack will find out, dbryant will find out)
ThinLTO https://github.com/rust-lang/rust/issues/35996
Better debug opt support
More parallel cargo builds. Each package seems to wait for its dependencies to finish compiling before it start - this is called "pipelined compiation"
eddyb: jrmuizel: so work items would be rlibs -> directories for incr. comp. and using LLVM's fancy new ThinLTO
Meeting notes
Asks lists are not necessarily to the Rust team, but an ask of "if this is possible to throw money at solving this problem".
- Importance of improving build times
- growth of platform group very likely
- ACTION ITEM: are there other people we could ask?
- debugging opt build support
- did Brian say he was going to set something up?
- ACTION ITEM: better debugging in general, like -Og in llvm, where it only optimizes up to the point where it's not throwing away information (aka the -O1 + debugging)
- "if it wasn't totally abysmal" to debug, they could do it
- servo currently is shipping a rust built with the line numbers + optimizations (except for Windows msvc)
- we have contractors looking at closing the gap for Windows debugging
- mixing and matching opt and debug dependences
- can you mark some parts of the dependency tree as debug and others as release? not at this time
- would have to talk to some of the cargo folks for more details
- parallel and distributed builds
- parallel builds via thin-lto should hopefully not lose inlining performance
- distributed builds
- currently using a tool called "ice cream" that helps distribute the builds (https://github.com/icecc/icecream)
- potential integration with basel/buck
- could potentially throw contract money at this
- trait bounds are not implemented for... definitions
- generally bad error message
- procedural macros
- only custom derive is the current path to stabilization
- need: generate code for different backends. doesn't seem to fit in the custom derive umbrella
- could use build scripts to do the code generation on the side
- could potentially add source map support to improve the experience here
- emscripten support