Open
Description
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.
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
[-]Rustdoc links to std library types pass through the facade[/-][+]Rustdoc links to std library types can bypass the facade[/+]steveklabnik commentedon Mar 4, 2016
Triage: this is still true today.
chordowl commentedon Mar 29, 2017
Triage: looks like this is fixed (see e.g. here or here).
steveklabnik commentedon Mar 29, 2017
@lukaramu in the second link, it still looks like it's linking to libcollections, not to libstd?
chordowl commentedon Mar 29, 2017
@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.
7 remaining items