-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Labels
A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsArea: Documentation for any part of the project, including the compiler, standard library, and toolsA-stabilityArea: `#[stable]`, `#[unstable]` etc.Area: `#[stable]`, `#[unstable]` etc.C-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.Relevant to the rustdoc team, which will review and decide on the PR/issue.
Description
I tried this code:
#![no_std]
pub fn xxx() {
f64::abs(1.0);
}
In Rust older than 1.84.
I expected to see this happen: successful compilation since f64::abs
is documented to be available since Rust 1.0.
Instead, this happened: compilation failure since f64::abs
in no std programs wasn't stabilized until Rust 1.84. This isn't documented anywhere and I had to go issue diving on GitHub.
@RalfJung said the keywords here are documenting path stability vs item stability.
Opening this issue to explore how to document the limited availability of items in no std programs.
In the absence of compiler infrastructure for this, free form text in the prose of the doc comment for the f64
primitive or its abs
method would have solved this for me. Maybe in a # Caveats
section?
DJMcNab and lolbinarycat
Metadata
Metadata
Assignees
Labels
A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsArea: Documentation for any part of the project, including the compiler, standard library, and toolsA-stabilityArea: `#[stable]`, `#[unstable]` etc.Area: `#[stable]`, `#[unstable]` etc.C-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.Relevant to the rustdoc team, which will review and decide on the PR/issue.