]> git.lizzy.rs Git - rust.git/commit
Document direct implementations on type aliases.
authorMichael Killough <michaeljkillough@gmail.com>
Tue, 16 May 2017 06:16:44 +0000 (13:16 +0700)
committerMichael Killough <michaeljkillough@gmail.com>
Fri, 9 Jun 2017 01:57:08 +0000 (10:57 +0900)
commit2da350168df9dc51806fc72040a1022d45431879
tree482318ec46881f04b96bc0f9721f53134733c812
parent9454dd5d2d8786d6eef07e2a7b737ad092e303df
Document direct implementations on type aliases.

This improves #32077, but is not a complete fix. For a type alias `type
NewType = AliasedType`, it will include any `impl NewType` and `impl
Trait for NewType` blocks in the documentation for `NewType`.

A complete fix would include the implementations from the aliased type
in the type alias' documentation, so that users have a complete
picture of methods that are available on the alias. However, to do this
properly would require a fix for #14072, as the alias may affect the
type parameters of the type alias, making the documentation difficult to
understand. (That is, for `type Result = std::result::Result<(), ()>` we
would ideally show documentation for `impl Result<(), ()>`, rather than
generic documentation for `impl<T, E> Result<T, E>`).

I think this improvement is worthwhile, as it exposes implementations
which are not currently documented by rustdoc. The documentation for the
implementations on the aliased type are still accessible by clicking
through to the docs for that type. (Although perhaps it's now less
obvious to the user that they should click-through to get there).
src/librustdoc/clean/mod.rs
src/librustdoc/html/render.rs
src/test/rustdoc/typedef.rs [new file with mode: 0644]