Commit graph

232 commits

Author SHA1 Message Date
bors
859c3236e5 Auto merge of #42885 - ollie27:rustdoc_empty_glob_path, r=GuillaumeGomez
rustdoc: Don't ICE on `use *;`

Fixes #42875
2017-06-26 11:06:13 +00:00
Oliver Middleton
927625912a rustdoc: Don't ICE on use *; 2017-06-24 18:16:39 +01:00
Oliver Middleton
4488f9bc0f rustdoc: Fix a few issues with associated consts
* Make sure private consts are stripped.
* Don't show a code block for the value if there is none.
* Make sure default values are shown in impls.
* Make sure docs from the trait are used if the impl has no docs.
2017-06-23 18:39:27 +01:00
bors
9adf969cd8 Auto merge of #42608 - ollie27:rustdoc_variant_reexport, r=QuietMisdreavus
rustdoc: Fix missing enum variant reexports

Fixes #35488
2017-06-13 08:54:23 +00:00
Oliver Middleton
68ccba81ae rustdoc: Fix missing enum variant reexports 2017-06-12 22:42:20 +01:00
Corey Farwell
3023cc49c8 Rollup merge of #42594 - ollie27:rustdoc_assoc_type_links, r=steveklabnik
rustdoc: Link directly to associated types

Rather than just linking to the trait.

Also simplifies the logic used to decide whether to render the full
QPath.
2017-06-12 12:39:49 -04:00
Oliver Middleton
7298dabdb3 rustdoc: Stop stripping empty modules
There is no good reason to strip empty modules with no documentation and
doing so causes subtle problems.
2017-06-11 18:26:01 +01:00
Oliver Middleton
429dc51bfe rustdoc: Link directly to associated types
Rather than just linking to the trait.

Also simplifies the logic used to decide whether to render the full
QPath.
2017-06-11 18:20:48 +01:00
Michael Killough
2da350168d 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).
2017-06-09 10:57:08 +09:00
Oliver Middleton
88c791bf69 rustdoc: Hide self: Box<Self> in list of deref methods
These methods can never be called through deref so there is no point
including them. For example you can't call `into_boxed_bytes` or
`into_string` on `String`.
2017-06-02 22:37:11 +01:00
Oliver Middleton
86ea93e83c rustdoc: Cleanup associated const value rendering
Rather than (ab)using Debug for outputting the type in plain text use the
alternate format parameter which already does exactly that. This fixes
type parameters for example which would output raw HTML.

Also cleans up adding parens around references to trait objects.
2017-05-31 20:05:28 +01:00
Guillaume Gomez
171d285756 Fix signature by adding parens when needed 2017-05-30 23:04:03 +02:00
Vadim Petrochenkov
73c73e4a95 Stabilize unions with Copy fields and no destructor 2017-05-27 00:52:20 +03:00
Oliver Middleton
0cb6a1fad3 rustdoc: Fix names of items in cross crate reexported modules
For renamed reexports the new name should be used.
2017-05-22 02:05:16 +01:00
Oliver Middleton
93f78bc45e rustdoc: Display extern "C" fn instead of extern fn 2017-05-15 00:52:17 +01:00
Mark Simulacrum
ffe12b1274 Allow # to appear in rustdoc code output.
"##" at the start of a trimmed rustdoc line is now cut to "#" and then
shown. If the user wanted to show "##", they can type "###".
2017-05-06 18:07:04 -06:00
Guillaume Gomez
80a2a94d5a Re-enable hoedown by default 2017-04-22 13:25:14 +02:00
Corey Farwell
5aa96024e3 Rollup merge of #41249 - GuillaumeGomez:rustdoc-render, r=steveklabnik,frewsxcv
Fix invalid associated type rendering in rustdoc

Fixes #41036.

r? @rust-lang/docs
2017-04-14 17:41:05 -04:00
Corey Farwell
5d7467acf6 Rollup merge of #41172 - Aaron1011:rustdoc-overflow, r=frewsxcv
Fix rustdoc infinitely recursing when an external crate reexports itself

Previously, rustdoc's LibEmbargoVisitor unconditionally visited the
child modules of an external crate. If a module re-exported its parent
via `pub use super::*`, rustdoc would re-walk the parent, leading to
infinite recursion.

This commit makes LibEmbargoVisitor store already visited modules in an
FxHashSet, ensuring that each module is only walked once.

Fixes #40936
2017-04-14 17:41:04 -04:00
Guillaume Gomez
dd7dfe56a9 Fix invalid associated type rendering in rustdoc 2017-04-12 18:14:54 +02:00
Aaron Hill
63a291feba
Fix rustdoc infinitely recursing when an external crate reexports itself
Previously, rustdoc's LibEmbargoVisitor unconditionally visited the
child modules of an external crate. If a module re-exported its parent
via 'pub use super::*', rustdoc would re-walk the parent, leading to
infinite recursion.

This commit makes LibEmbargoVisitor store already visited modules in an
FxHashSet, ensuring that each module is only walked once.

Fixes #40936
2017-04-09 12:12:05 -04:00
QuietMisdreavus
8dd4c44ef6 merge with master to pick up pulldown switch 2017-04-09 10:38:38 -05:00
QuietMisdreavus
ae0e45c028 rustdoc: where clause adjustment to fix tests
- add spaces to output so stripping lines and breaking spaces renders
  the same
- add commas to where clauses in rustdoc tests to match the new output
2017-04-06 14:19:45 -05:00
Oliver Middleton
f9fb381b2a rustdoc: Use pulldown-cmark for Markdown HTML rendering
Instead of rendering all of the HTML in rustdoc this relies on
pulldown-cmark's `push_html` to do most of the work. A few iterator
adapters are used to make rustdoc specific modifications to the output.

This also fixes MarkdownHtml and link titles in plain_summary_line.
2017-04-06 13:09:20 +01:00
Guillaume Gomez
b02cb1978c Handle ordered lists as well 2017-04-04 00:24:08 +02:00
bors
72ecd79a6c Auto merge of #40919 - GuillaumeGomez:fix-new-rustdoc, r=frewsxcv,steveklabnik
Add support for image, rules and footnotes

Part of #40912.

r? @rust-lang/docs

PS: the footnotes are waiting for https://github.com/google/pulldown-cmark/pull/21 to be merged to be fully working.
2017-04-02 18:16:09 +00:00
Guillaume Gomez
4de4a95505 Add end whitespace ignore flag for tidy 2017-03-31 12:16:03 -06:00
Guillaume Gomez
51d3cec387 Fix hard break issue 2017-03-31 12:16:03 -06:00
Guillaume Gomez
36b15f0409 Fix multiple footnotes and improve testing 2017-03-30 17:29:54 -06:00
Guillaume Gomez
08a741eabf Add support for image, rules and footnotes 2017-03-29 19:48:06 -06:00
Austin Bonander
d8fc5b80b6 Rustdoc: test proper representation for pub use macros 2017-03-28 12:39:47 -07:00
Guillaume Gomez
f53172287a Add whitespace around "=" in assoc items 2017-03-21 16:22:15 -04:00
Corey Farwell
d49f86901c Rollup merge of #40587 - GuillaumeGomez:rustdoc-const-display, r=frewsxcv
Fix invalid debug display for associated consts

Fixes #40568.

r? @rust-lang/docs

cc @SergioBenitez
2017-03-19 20:51:13 -04:00
Guillaume Gomez
5364acb418 Fix invalid debug display for associated consts 2017-03-17 00:27:36 +01:00
Guillaume Gomez
9b892745ad Fix const not displayed in rustdoc 2017-03-16 02:15:10 +01:00
Corey Farwell
fda3f98746 Rollup merge of #39944 - GuillaumeGomez:associated-consts, r=frewsxcv
Improve associated constant rendering in rustdoc

Before:

<img width="1440" alt="screen shot 2017-02-19 at 00 30 51" src="https://cloud.githubusercontent.com/assets/3050060/23097697/caeed80e-f63a-11e6-98c2-5d27e4efd76d.png">

After:

<img width="1440" alt="screen shot 2017-02-19 at 00 30 39" src="https://cloud.githubusercontent.com/assets/3050060/23097698/cfb4874e-f63a-11e6-80cf-ffbf5c5c6162.png">

cc @SergioBenitez

r? @rust-lang/docs
2017-02-28 22:55:28 -05:00
Guillaume Gomez
bd704baaf1 Update tests accordingly 2017-02-28 00:27:29 +01:00
Guillaume Gomez
8c8eda8ecd Fix nightly-only experimental API display 2017-02-25 17:48:09 +01:00
Guillaume Gomez
be0e7498f0 Rollup merge of #39654 - ollie27:rustdoc_attributes, r=GuillaumeGomez
rustdoc: Show attributes on all item types

Currently attributes are only shown for structs, unions and enums but
they should be shown for all items. For example it is useful to know if a
function is `#[no_mangle]`.
2017-02-12 19:16:28 +01:00
Corey Farwell
4f6868aa01 Rollup merge of #39589 - ollie27:rustdoc_impl_disambiguation, r=alexcrichton
rustdoc: Improve impl disambiguation

* Don't disambiguate if there are multiple impls for the same type.
* Disambiguate for impls of &Foo and &mut Foo.
* Don't try to disambiguate generic types.

[before](https://doc.rust-lang.org/nightly/std/ops/trait.Rem.html#implementors) [after](https://ollie27.github.io/rust_doc_test/std/ops/trait.Rem.html#implementors)
2017-02-08 23:55:44 -05:00
Oliver Middleton
147d173d02 rustdoc: Show attributes on all item types
Currently attributes are only shown for structs, unions and enums but
they should be shown for all items. For example it is useful to know if a
function is `#[no_mangle]`.
2017-02-08 21:15:20 +00:00
Guillaume Gomez
d2f8abf254 Add more test for rustdoc --test 2017-02-08 10:10:06 +01:00
Oliver Middleton
05eef36fa5 rustdoc: Improve impl disambiguation
* Don't disambiguate if there are multiple impls for the same type.
* Disambiguate for impls of &Foo and &mut Foo.
* Don't try to disambiguate generic types.
2017-02-06 18:11:01 +00:00
bors
696f5c1fc6 Auto merge of #38161 - durka:rustdoc-crate-attrs, r=alexcrichton
rustdoc: fix doctests with non-feature crate attrs

Fixes #38129.

The book says that any top-level crate attributes at the beginning of a doctest are moved outside the generated `fn main`, but it was only checking for `#![feature`, not `#![`.

These attributes previously caused warnings but were then ignored, so in theory this could change the behavior of doctests in the wild.
2017-02-05 05:54:44 +00:00
Guillaume Gomez
6756b72a1d Create new flag to test rustdoc --test 2017-02-03 11:08:20 +01:00
Guillaume Gomez
44b59be0f2 Move test from bootstrap to compiletest 2017-02-03 11:08:20 +01:00
Guillaume Gomez
b7678808af Fix missing blank space issue 2017-01-15 18:38:00 +01:00
Manish Goregaokar
0a1c9ae022 Improved rustdoc rendering for unstable features 2017-01-09 21:50:00 -08:00
Alex Crichton
045f8f6929 rustc: Stabilize the proc_macro feature
This commit stabilizes the `proc_macro` and `proc_macro_lib` features in the
compiler to stabilize the "Macros 1.1" feature of the language. Many more
details can be found on the tracking issue, #35900.

Closes #35900
2017-01-02 12:13:30 -08:00
Oliver Middleton
4f15e1183c rustdoc: Fix short summaries in search results
They should be run through a Markdown renderer in rustdoc to remove
links.

This also fixes the mouse over text for the Crates list on the sidebar.
2016-12-12 18:39:36 +00:00