-
Notifications
You must be signed in to change notification settings - Fork 13.8k
Implement RFC 3631: add rustdoc doc_cfg features #138907
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This comment has been minimized.
This comment has been minimized.
Noted! And that will be a nice improvement, thanks! Just one thing left for the cfg expansion missing: |
Do you mean like in #138515? :) |
You're my hero! Gonna need to handle this new attribute then. :) |
4a05a52
to
3d2eef1
Compare
This comment has been minimized.
This comment has been minimized.
☔ The latest upstream changes (presumably #138923) made this pull request unmergeable. Please resolve the merge conflicts. |
d88598f
to
db25eea
Compare
This comment has been minimized.
This comment has been minimized.
☔ The latest upstream changes (presumably #138927) made this pull request unmergeable. Please resolve the merge conflicts. |
b8cb424
to
b581ce1
Compare
This comment has been minimized.
This comment has been minimized.
b581ce1
to
1cb7fac
Compare
This comment has been minimized.
This comment has been minimized.
71369a1
to
fbee8a9
Compare
This comment has been minimized.
This comment has been minimized.
Move doc_cfg-specific code into `cfg.rs` Follow-up of rust-lang/rust#138907. r? lolbinarycat
* give name to closure variable types to prevent future confusion * Update CHANGELOG.md * Seperate rust package from buildInputs into stableRust * Add docrs devshell with nightly Rust * nix flake update * Update devshell stableRust to 1.90.0 * Update bevy_time_runner to 0.5.2 * Change doc_auto_cfg to doc_cfg since rust-lang/rust#138907 * Update unreleased changes section in CHANGELOG.md * fix import in docs * update EguiPlugin in bevy_lookup_curve --------- Co-authored-by: Multirious <[email protected]>
See also rust-lang/rust#138907 Signed-off-by: tison <[email protected]>
See rust-lang/rust#138907, also see [#linebender > Cargo doc failures in linebender repos](https://xi.zulipchat.com/#narrow/channel/419691-linebender/topic/Cargo.20doc.20failures.20in.20linebender.20repos/with/542106544).
the `doc_auto_cfg` feature has been merged into `doc_cfg` [1], and this is breaking building vm-memory documentation on docs.rs [2]. [1]: rust-lang/rust#138907 [2]: https://docs.rs/crate/vm-memory/0.17.0/builds/2564760 Signed-off-by: Patrick Roy <[email protected]>
#4331) ## Motivation and Context <!--- Why is this change required? What problem does it solve? --> <!--- If it fixes an open issue, please link to the issue here --> Our docrs builds started [failing](https://docs.rs/crate/aws-sdk-dynamodb/1.94.0/builds/2555063) recently with the error: ``` [INFO] [stderr] Documenting aws-sdk-dynamodb v1.94.0 (/opt/rustwide/workdir) [INFO] [stderr] error[E0557]: feature has been removed [INFO] [stderr] --> src/lib.rs:21:29 [INFO] [stderr] | [INFO] [stderr] 21 | #![cfg_attr(docsrs, feature(doc_auto_cfg))] [INFO] [stderr] | ^^^^^^^^^^^^ feature has been removed [INFO] [stderr] | [INFO] [stderr] = note: removed in CURRENT_RUSTC_VERSION; see <rust-lang/rust#138907> for more information [INFO] [stderr] = note: merged into `doc_cfg` [INFO] [stderr] [INFO] [stderr] error: Compilation failed, aborting rustdoc [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0557`. [INFO] [stderr] error: could not document `aws-sdk-dynamodb` ``` The [linked issue](rust-lang/rust#138907) shows that `doc_auto_cfg` has recently been merged into `doc_cfg`. docsrs builds with the latest nightly toolchain, so the change has impacted our doc builds. This PR makes that change in codegen and in all of our runtime crates. ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> - [ ] For changes to the smithy-rs codegen or runtime crates, I have created a changelog entry Markdown file in the `.changelog` directory, specifying "client," "server," or both in the `applies_to` key. - [ ] For changes to the AWS SDK, generated SDK code, or SDK runtime crates, I have created a changelog entry Markdown file in the `.changelog` directory, specifying "aws-sdk-rust" in the `applies_to` key. ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
Fixes Azure#3117 and fixes Azure#3118 by renaming `doc_auto_cfg` and `doc_cfg_hide` to just `doc_cfg` after rust-lang/rust#138907 was merged and released in the new nightly toolchain docs.rs uses.
[`doc_auto_cfg` was merged into `doc_cfg` and is no longer itself usable.]( rust-lang/rust#138907 ) Allows us to update our version of nightly, which this PR also does.
[`doc_auto_cfg` was merged into `doc_cfg` and is no longer itself usable.]( rust-lang/rust#138907 ) Allows us to update our version of nightly, which this PR also does.
Fixes #3117 and fixes #3118 by renaming `doc_auto_cfg` and `doc_cfg_hide` to just `doc_cfg` after rust-lang/rust#138907 was merged and released in the new nightly toolchain docs.rs uses.
It looks like the issue with building the latest docs originated from rust-lang/rust#138907 getting into effect at docs.rs.
It looks like the issue with building the latest docs originated from rust-lang/rust#138907 getting into effect at docs.rs.
It looks like the issue with building the latest docs originated from rust-lang/rust#138907 getting into effect at docs.rs.
`doc_auto_cfg` has been removed in the latest nightly, see rust-lang/rust#138907. This feature was merged into `doc_cfg`. This fixes the rustdoc build in the latest nightly toolchain with docsrs feature enabled.
doc_auto_cfg was merged into doc_cfg in rust-lang/rust#138907
Since rust-lang/rust#138907 was merged.
`doc_auto_cfg` has been removed in the latest nightly, see rust-lang/rust#138907. This feature was merged into `doc_cfg`. This fixes the rustdoc build in the latest nightly toolchain with docsrs feature enabled.
It looks like the issue with building the latest docs originated from rust-lang/rust#138907 getting into effect at docs.rs.
Implementation of rust-lang/rfcs#3631.
This implementation actually resulted in a lot of simplifications:
cfg
computation is now done in one place:propagate_doc_cfg.rs
. Because (trait)impl
s are not retrieved at the same time as the other items, we cannot perform this computation in the clean process, it needs to be after.cfg
inheritance, we can keep track of them in one place (inpropagate_doc_cfg.rs
), meaning we don't need to copy an item's attributes to its children anymore. Only exception: impl items. For them we clone onlycfg
attributes.propagate_doc_cfg.rs
is also now much simpler, much less need to keep track of parents, since everything we need is handled by the newCfgInfo
type.Cfg::simplify_with
could either be removed or at least used directly intopropagate_doc_cfg.rs
when we computecfg
s. Considering how big the PR already is, I'll do it in a follow-up.I didn't remove the
doc_cfg*
features in this PR because some dependencies used inrustc
(likestdarch
) are using it, so we need to have a nightly released with this PR before I can switch to the new feature.r? ghost