summary refs log tree commit diff
path: root/src/librustdoc/html/format.rs
AgeCommit message (Collapse)AuthorLines
2018-03-24CleanupShotaro Yamada-13/+2
2018-03-24Hide synthesized type parametersShotaro Yamada-3/+9
2018-02-16Remove hoedown from rustdocGuillaume Gomez-2/+1
Is it really time? Have our months, no, *years* of suffering come to an end? Are we finally able to cast off the pall of Hoedown? The weight which has dragged us down for so long? ----- So, timeline for those who need to catch up: * Way back in December 2016, [we decided we wanted to switch out the markdown renderer](https://github.com/rust-lang/rust/issues/38400). However, this was put on hold because the build system at the time made it difficult to pull in dependencies from crates.io. * A few months later, in March 2017, [the first PR was done, to switch out the renderers entirely](https://github.com/rust-lang/rust/pull/40338). The PR itself was fraught with CI and build system issues, but eventually landed. * However, not all was well in the Rustdoc world. During the PR and shortly after, we noticed [some differences in the way the two parsers handled some things](https://github.com/rust-lang/rust/issues/40912), and some of these differences were major enough to break the docs for some crates. * A couple weeks afterward, [Hoedown was put back in](https://github.com/rust-lang/rust/pull/41290), at this point just to catch tests that Pulldown was "spuriously" running. This would at least provide some warning about spurious tests, rather than just breaking spontaneously. * However, the problems had created enough noise by this point that just a few days after that, [Hoedown was switched back to the default](https://github.com/rust-lang/rust/pull/41431) while we came up with a solution for properly warning about the differences. * That solution came a few weeks later, [as a series of warnings when the HTML emitted by the two parsers was semantically different](https://github.com/rust-lang/rust/pull/41991). But that came at a cost, as now rustdoc needed proc-macro support (the new crate needed some custom derives farther down its dependency tree), and the build system was not equipped to handle it at the time. It was worked on for three months as the issue stumped more and more people. * In that time, [bootstrap was completely reworked](https://github.com/rust-lang/rust/pull/43059) to change how it ordered compilation, and [the method by which it built rustdoc would change](https://github.com/rust-lang/rust/pull/43482), as well. This allowed it to only be built after stage1, when proc-macros would be available, allowing the "rendering differences" PR to finally land. * The warnings were not perfect, and revealed a few [spurious](https://github.com/rust-lang/rust/pull/44368) [differences](https://github.com/rust-lang/rust/pull/45421) between how we handled the renderers. * Once these were handled, [we flipped the switch to turn on the "rendering difference" warnings all the time](https://github.com/rust-lang/rust/pull/45324), in October 2017. This began the "warning cycle" for this change, and landed in stable in 1.23, on 2018-01-04. * Once those warnings hit stable, and after a couple weeks of seeing whether we would get any more reports than what we got from sitting on nightly/beta, [we switched the renderers](https://github.com/rust-lang/rust/pull/47398), making Pulldown the default but still offering the option to use Hoedown. And that brings us to the present. We haven't received more new issues from this in the meantime, and the "switch by default" is now on beta. Our reasoning is that, at this point, anyone who would have been affected by this has run into it already.
2017-12-28rustdoc: Don't try to generate links for modules in import pathsOliver Middleton-24/+2
The modules may be private or may even be enums so it would generate dead links.
2017-12-21Add GenericParam, refactor Generics in ast, hir, rustdocJonas Platte-43/+20
The Generics now contain one Vec of an enum for the generic parameters, rather than two separate Vec's for lifetime and type parameters. Additionally, places that previously used Vec<LifetimeDef> now use Vec<GenericParam> instead.
2017-12-10Auto merge of #46232 - canndrew:never-docs, r=QuietMisdreavusbors-1/+1
Add docs for never primitive cc @nikomatsakis, @QuietMisdreavus
2017-12-09Use Try syntax for Option in place of macros or matchMatt Brubeck-9/+7
2017-11-29Fix invalid HTML escapeGuillaume Gomez-1/+1
2017-11-28link to never type docsAndrew Cann-1/+1
2017-10-17rustdoc: add a primitive page for "unit"Josh Stone-1/+1
In `src/libstd/primitive_docs.rs`, a `#[doc(primitive = "unit")]` section has sat long neglected. This patch teaches rustdoc to recognize "unit", and steals its trait implementations away from the tuple page.
2017-09-11rustc: replace usize with u64 and ConstUsize.Eduard-Mihai Burtescu-1/+1
2017-08-28Fix invalid linker positionGuillaume Gomez-1/+1
2017-08-01add documentation for function pointers as a primitiveQuietMisdreavus-5/+3
2017-07-30add docs for references as a primitiveQuietMisdreavus-19/+17
2017-06-24rustdoc: Don't ICE on `use *;`Oliver Middleton-1/+5
2017-06-11rustdoc: Link directly to associated typesOliver Middleton-23/+19
Rather than just linking to the trait. Also simplifies the logic used to decide whether to render the full QPath.
2017-06-01rustdoc: Rename `Vector` and `FixedVector` to `Slice` and `Array`Oliver Middleton-11/+4
Also store the array length as a usize rather than a String. This is just a minor refactor.
2017-05-31rustdoc: Cleanup associated const value renderingOliver Middleton-153/+53
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-30Fix signature by adding parens when neededGuillaume Gomez-14/+23
2017-05-15rustdoc: Display `extern "C" fn` instead of `extern fn`Oliver Middleton-1/+0
2017-05-08Remove need for &format!(...) or &&"" dances in `span_label` callsOliver Schneider-2/+2
2017-04-12Fix invalid associated type rendering in rustdocGuillaume Gomez-41/+74
2017-04-09merge with master to pick up pulldown switchQuietMisdreavus-4/+4
2017-04-06rustdoc: move the space at the end of where clausesQuietMisdreavus-3/+11
...so that we don't indent the next line by one extra space
2017-04-06rustdoc: where clause adjustment to fix testsQuietMisdreavus-4/+7
- 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-05style: space between struct name and opening braceQuietMisdreavus-2/+2
2017-04-04rustdoc: properly indent fn signatures in traitsQuietMisdreavus-7/+21
2017-03-31rustdoc: fix alignment of fn arguments when on multiple linesQuietMisdreavus-1/+1
2017-03-31rustdoc: format where clauses like rust-lang-nursery/fmt-rfcs#38QuietMisdreavus-32/+29
2017-03-28rustdoc: format fns like format rfc 39QuietMisdreavus-20/+16
2017-03-21Add whitespace around "=" in assoc itemsGuillaume Gomez-2/+2
2017-03-17Fix invalid debug display for associated constsGuillaume Gomez-2/+2
2017-03-10Fix associated consts displayGuillaume Gomez-19/+47
2017-02-28Apply the same transformation to every typesGuillaume Gomez-20/+34
2017-02-26Put the const type and value into <code>Guillaume Gomez-18/+70
2017-02-09Add the short type to inline links, tooMichael Howell-2/+2
2017-02-06rustdoc: Improve impl disambiguationOliver Middleton-2/+4
* 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-01-21Force backline on all where in docsGuillaume Gomez-4/+3
2017-01-17AST/HIR: Merge ObjectSum and PolyTraitRefVadim Petrochenkov-13/+0
2017-01-04Auto merge of #38414 - estebank:doc-dissambiguate, r=steveklabnikbors-164/+183
Rustdoc: disambiguate Implementors when the type name is not unique Presentation [goes from](https://doc.rust-lang.org/stable/std/iter/trait.ExactSizeIterator.html#implementors): <img width="492" alt="" src="https://cloud.githubusercontent.com/assets/1606434/21276752/b2b50474-c387-11e6-96e1-9766851da269.png"> to: <img width="787" alt="" src="https://cloud.githubusercontent.com/assets/1606434/21276763/bb37f6b0-c387-11e6-8596-9163cb254674.png"> on cases where there're multiple implementors with the same name. Fixes #37762.
2016-12-22use same param name across methodsEsteban Küber-7/+10
2016-12-20rustdoc: properly calculate line length for impl where clausesQuietMisdreavus-1/+1
2016-12-15Rustdoc: disambiguate Implementors when the type name is not uniqueEsteban Küber-164/+180
2016-11-30rustdoc: link to cross-crate sources directly.Eduard-Mihai Burtescu-10/+12
2016-11-28rustc: desugar `use a::{b,c};` into `use a::b; use a::c;` in HIR.Eduard-Mihai Burtescu-27/+0
2016-10-17rustdoc: make Method/WhereClause wrappers use usize for indentsQuietMisdreavus-12/+13
2016-10-15rustdoc: if a where clause gets any lines, it gets its own lineQuietMisdreavus-1/+3
2016-10-15rustdoc: break where clauses onto their own line if they don't have enough roomQuietMisdreavus-1/+6
2016-10-15rustdoc: apply proper indent when where clauses aren't on their own lineQuietMisdreavus-8/+26
2016-10-13fix spurious </span> appearing before the opening tagQuietMisdreavus-1/+1