rust-lang / rust-lang/rust

rustdoc: Since 1.87 we permit shebangs in doctests that have a `main` fn

Open
#147,014 2 comments 0 reactions 1 assignee View on GitHub

@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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.