rustdoc: Since 1.87 we permit shebangs in doctests that have a `main` fn
Open
@fmease is already working on this.
Since Sep 25, 2025.
A-doctests
C-bug
P-high
regression-from-stable-to-stable
S-has-bisection
S-has-mcve
T-rustdoc
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
[!NOTE]
This topic was already extensively discussed in #t-rustdoc/meetings > 2025-09-08 @ 💬. Verdict is still unclear, namely whether to simply accept it as an accidental feature (would need FCP after the fact with motivation) or revert (wouldn't need an FCP, might need a crater run).
Since PR #138104 (stabilized in 1.87), we accidentally permit rustdoc file.rs --test where file.rs:
//! ```
//! #!XYZ XYZ XYZ XYZ XYZ
//! fn main() {}
//! ```
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.