Skip to content

compiler-docs: Missing trait impls for type #76736

Closed

Description

@tesuji

This is a regression from stable to beta, although this issue will be P-low.
The problem is #73771 ignored documenting unstable traits for non-local types,
#76571 fixes some regressions caused by it but the regression
in nightly-rustc / compiler docs still opens.

For example: Compare https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/base/struct.ExtCtxt.html#blanket-implementations and https://doc.rust-lang.org/1.46.0/nightly-rustc/rustc_expand/base/struct.ExtCtxt.html#blanket-implementations .

The doc in 1.46.0 has MaybeResult impl, while on nightly it doesn't have.

A way to fix this issue is ignoring this check when the compiling-crates
are being passed -Zforce-unstable-if-unmarked flag or the crate/module has rustc_private feature:

if let Some(stab) = tcx.lookup_stability(did) {
if stab.level.is_unstable() && stab.feature == sym::rustc_private {
return;
}
}
}
}
let for_ = if let Some(did) = did.as_local() {
let hir_id = tcx.hir().local_def_id_to_hir_id(did);
match tcx.hir().expect_item(hir_id).kind {
hir::ItemKind::Impl { self_ty, .. } => self_ty.clean(cx),
_ => panic!("did given to build_impl was not an impl"),
}
} else {
tcx.type_of(did).clean(cx)
};
// Only inline impl if the implementing type is
// reachable in rustdoc generated documentation
if !did.is_local() {
if let Some(did) = for_.def_id() {
if !cx.renderinfo.borrow().access_levels.is_public(did) {
return;
}
if let Some(stab) = tcx.lookup_stability(did) {
if stab.level.is_unstable() && stab.feature == sym::rustc_private {
return;
}

Meta

rustc --version --verbose: Version 1.48.0-nightly (9b41541 2020-09-14)

Activity

  1. added
    I-prioritizeIssue needs a team member to assess the impact. Will be replaced by P-{low,medium,high,critical}
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    A-docsArea: Documentation for any part of the project, including the compiler, standard library, and tools
    and removed
    I-prioritizeIssue needs a team member to assess the impact. Will be replaced by P-{low,medium,high,critical}
    on Sep 15, 2020
  2. changed the title [-]rustdoc(nightly-rustc): Missing trait impls for type[/-] [+]compiler-docs: Missing trait impls for type[/+] on Sep 15, 2020
  3. added
    T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.
    on Sep 15, 2020
  4. removed
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    on Sep 16, 2020
  5. added
    E-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.
    E-mentorCall for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.
    on Sep 16, 2020
  6. jakevossen5 commented on Oct 4, 2020

    @jakevossen5
    Contributor

    Hey! I would like to check this out if that is okay

  7. camelid commented on Oct 4, 2020

    @camelid
    Member

    Is this actually a regression?

  8. 2 remaining items

  9. jakevossen5 commented on Oct 29, 2020

    @jakevossen5
    Contributor

    @jyn514 Thanks! Yes, I am still interested, I have been busy that past few weeks. I will give it a shot this weekend and will reach out if I can't figure it out!

  10. tesuji commented on Jan 5, 2021

    @tesuji
    ContributorAuthor

    @jakevossen5 Since zulip is lag in my region at night, I post a respond here.
    You could use tcx.sess.opts.debugging_opts.force_unstable_if_unmarked to check for
    -Zforce-unstable-if-unmarked flag passed during compilation.

  11. leokhachatorians commented on Jan 13, 2022

    @leokhachatorians

    I think I'll hop onto this if that's OK. I've always wanted to contribute :)

  12. jakevossen5 commented on Jan 13, 2022

    @jakevossen5
    Contributor

    Go for it!

  13. added a commit that references this issue on Feb 18, 2024
    8ba0ad0
  14. added a commit that references this issue on Feb 18, 2024
    3c51fb8
  15. ShoyuVanilla commented on Mar 7, 2024

    @ShoyuVanilla
    Member

    It doesn't seem to be fixed by #121218 😢 I'll check the cause

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsC-bugCategory: This is a bug.E-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.E-mentorCall for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.P-lowLow priorityT-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions