Skip to content

Rustdoc links to std library types can bypass the facade #22083

Open
@tomjakubowski

Description

@tomjakubowski
Contributor

As an example, generate documentation for this:

#![crate_type="lib"]

pub trait Trait { }

impl<T> Trait for Vec<T> { }

On the docs for the Trait trait, there will be an Implementors section like this:

Note that the Vec link goes to docs for the collections crate and not to docs for std. Since the 1.0 release will not host documentation for crates behind the facade, this will lead to broken documentation links for third-party crates.

Activity

changed the title [-]Rustdoc links to std library types pass through the facade[/-] [+]Rustdoc links to std library types can bypass the facade[/+] on Feb 8, 2015
added
T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.
on Feb 9, 2015
steveklabnik

steveklabnik commented on Mar 4, 2016

@steveklabnik
Member

Triage: this is still true today.

chordowl

chordowl commented on Mar 29, 2017

@chordowl
Contributor

Triage: looks like this is fixed (see e.g. here or here).

steveklabnik

steveklabnik commented on Mar 29, 2017

@steveklabnik
Member

@lukaramu in the second link, it still looks like it's linking to libcollections, not to libstd?

chordowl

chordowl commented on Mar 29, 2017

@chordowl
Contributor

@steveklabnik seems like I was too superficial, my bad...

Upon taking a closer look, there seem to be multiple components:

A lot of trait implementors are duplicate, this seems to be #25061. The initial entries (mostly, see below) link within libstd (which led me to believe that this was fixed); the entries that are generated dynamically (everything after impl PartialEq for SystemTime) bypass the facade, e.g. Box/Arc/Rc to liballoc, DecodeUtf16Error to libstd_unicode, etc.

Then, even the not dynamically generated entry for the implementation by EnumSet links to libcollections, which in some way makes sense as it isn't in std::collections anyway.

added
T-dev-toolsRelevant to the dev-tools subteam, which will review and decide on the PR/issue.
and removed on May 18, 2017

7 remaining items

Loading
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-cross-crate-reexportsArea: Documentation that has been re-exported from a different crateC-bugCategory: This is a bug.T-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

        Participants

        @steveklabnik@ehuss@alexcrichton@tomjakubowski@chordowl

        Issue actions

          Rustdoc links to std library types can bypass the facade · Issue #22083 · rust-lang/rust