bazelbuild / bazelbuild/rules_rust
Support pipelining via `-Zno-codegen`
- Dominant language
- Starlark
- Stars
- 843
- Forks
- 651
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 15
Description
The current mechanism of having 2 identical rustc invocations with the process wrapper killing one after the `.rmeta` file is created is quite complex and with subtle bugs. Using `-Zno-codegen` instead should allow us to remove a lot logic in the process wrapper.
The downside of using `-Zno-codegen` is that this pipelining won't work for users that disallow unstable features. For a bit we'll support both the current solution and `-Zno-codegen`, and we'll gate the change behind an incompatible flag. In the long term however, we will remove the existing implementation, and the way forward for using pipelining while not allowing unstable features would be to help stabilize `-Zno-codegen` upstream.
Contributor guide
Assessment
This issue has not been assessed yet.