Description
This issue is intended to track the process of fixing rustc to not accept unstable flags on stable compilers. It's somewhat of a historical mistake that this was allowed, and we're attempting now to repair the logic to disallow unstable flags on the compiler. Today the compiler has a few unstable flags:
-Z
- all debugging options in the compiler are intended to be unstable--pretty
- the pretty printer is quite broken in various ways, and it's output is also generally quite unstable--unpretty
- the flag and formats emitted here were not intended to be stable--error-format
- this support is currently experimental in the compiler and may not be ready for prime-time
For backwards compatibility the compiler will continue to accept these flags on the stable and beta channels of Rust. In #31793, however, the compiler will start to issue a warning on these channels whenever these flags are passed. The warning message points at this issue.
The next steps on this issue are likely:
- Wait for the warning to propagate to the stable channel
- Get feedback about which unstable flags are widely used today
- Resolve how to stabilize widely used unstable flags
- Wait for these flags to be stable
- Turn the warning of unstable flags on the stable channel into a hard error
If you're coming to this issue via the compiler warning, please feel free to comment with your flag and use case! We're eager to learn which unstable flags are most widely used to prioritize what to stabilize.