Commit graph

222 commits

Author SHA1 Message Date
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
Alex Burka
ec356bb1a7 rustdoc: fix doctests with non-feature crate attrs 2016-12-09 17:18:42 +00:00
Jeffrey Seyfried
6ffa274bb5 Fix doc-tests on exported macro_rules!. 2016-12-08 11:07:39 +00:00
bors
827eba4e70 Auto merge of #37911 - liigo:rustdoc-playground, r=alexcrichton
rustdoc: get back missing crate-name when --playground-url is used

follow up PR #37763
r? @alexcrichton (since you r+ed to #37763 )

----

Edit: When `#![doc(html_playground_url="")]` is used, the current crate name is saved to `PLAYGROUND`, so rustdoc may generate `extern crate NAME;` into code snips automatically. But when `--playground-url` was introduced in PR #37763, I forgot saving crate name to `PLAYGROUND`. This PR fix that.

----

Update:
- add test
- unstable `--playground-url`
2016-12-01 07:07:32 +00:00
Eduard-Mihai Burtescu
900191891f rustdoc: link to cross-crate sources directly. 2016-11-30 04:48:56 +02:00
Liigo Zhuang
943bf96300 unstable --playground-url, add test code 2016-11-30 10:33:22 +08:00
Eduard-Mihai Burtescu
bc096549e8 rustc: desugar use a::{b,c}; into use a::b; use a::c; in HIR. 2016-11-28 04:18:10 +02:00
bors
d88d06448e Auto merge of #37773 - ollie27:rustdoc_inline_glob, r=brson
rustdoc: Fix some local inlining issues

* Only inline public items when inlining glob imports.
* Never inline while in a private module or a child of a private module.
* Never inline impls. This allowed the removal of a workaround in the
rendering code.
2016-11-16 01:17:53 -08:00
Oliver Middleton
6fe7786db6 rustdoc: Fix some local inlining issues
* Only inline public items when inlining glob imports.
* Never inline while in a private module or a child of a private module.
* Never inline impls. This allowed the removal of a workaround in the
rendering code.
2016-11-14 18:24:47 +00:00
Andy Russell
30f75e396a
do not use deprecated text for unstable docs 2016-11-13 19:00:56 -05:00
Eduard-Mihai Burtescu
2db360eec1 Rollup merge of #37190 - QuietMisdreavus:rustdoc-where-newline, r=GuillaumeGomez
rustdoc: add line breaks to where clauses a la rustfmt

Much like my last PR for rustdoc (#36679), this adds line breaks to certain statements based on their line length. Here the focus was on where clauses.

Some examples:
- [Where clause in a trait function](https://shiva.icesoldier.me/custom-std/std/iter/trait.Iterator.html?search=#method.unzip) (also in the trait header block at the top of the page)
- [Where clause on a bare function](https://shiva.icesoldier.me/doc-custom2/petgraph/visit/fn.depth_first_search.html)
- [Where clauses in trait impls on a struct](https://shiva.icesoldier.me/custom-std/std/collections/struct.HashMap.html) (scroll to the bottom) These are regularly not on their own line, but will be given their own line now if their "prefix text" doesn't give them enough room to sensibly print their constraints. HashMap's trait impls provide some examples of both behaviors.

The libstd links above are the whole docs rendered with this, and the "bare function" link above is in another set that pulls some notable crates together. `petgraph` was the one that brought this request up, and that collection also includes [itertools](https://shiva.icesoldier.me/doc-custom2/itertools/trait.Itertools.html) which provided an easy sample to test with.

r? @GuillaumeGomez
2016-11-12 10:38:36 +02:00