bazelbuild / bazelbuild/rules_rust

Support pipelining via `-Zno-codegen`

Open
#3,943 1 comment 0 reactions 0 assignees View on GitHub
pipelining
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.