Commit graph

315 commits

Author SHA1 Message Date
bors
023fd7e74a Auto merge of #52767 - ljedrz:avoid_format, r=petrochenkov
Prefer to_string() to format!()

Simple benchmarks suggest in some cases it can be faster by even 37%:
```
test converting_f64_long  ... bench:         339 ns/iter (+/- 199)
test converting_f64_short ... bench:         136 ns/iter (+/- 34)
test converting_i32_long  ... bench:          87 ns/iter (+/- 16)
test converting_i32_short ... bench:          87 ns/iter (+/- 49)
test converting_str       ... bench:          54 ns/iter (+/- 15)
test formatting_f64_long  ... bench:         349 ns/iter (+/- 176)
test formatting_f64_short ... bench:         145 ns/iter (+/- 14)
test formatting_i32_long  ... bench:          98 ns/iter (+/- 14)
test formatting_i32_short ... bench:          93 ns/iter (+/- 15)
test formatting_str       ... bench:          86 ns/iter (+/- 23)
```
2018-07-29 09:33:37 +00:00
bors
a5c2d0fffa Auto merge of #52764 - sinkuu:cleanup, r=nikomatsakis
Misc cleanups
2018-07-29 06:32:24 +00:00
Guillaume Gomez
7a3c7b2097 Don't display full blanket implementation and put it into its own section 2018-07-28 15:18:38 +02:00
Shotaro Yamada
3525368a56 Use str::repeat 2018-07-27 23:26:36 +09:00
ljedrz
57a5a9b054 Prefer to_string() to format!() 2018-07-27 11:11:18 +02:00
Without Boats
589446e19c Display async fn in rustdoc. 2018-06-21 22:30:50 -07:00
varkor
95f1866a4d Make GenericBound explicit 2018-06-20 12:23:46 +01:00
varkor
c5f16e0e18 Rename ParamBound(s) to GenericBound(s) 2018-06-20 12:23:46 +01:00
varkor
80dbe58efc Use ParamBounds in WhereRegionPredicate 2018-06-20 12:23:07 +01:00
varkor
aed530a457 Lift bounds into GenericParam 2018-06-20 12:22:46 +01:00
varkor
f457b3d10a Refactor generic parameters in rustdoc/clean 2018-06-20 12:21:52 +01:00
varkor
76c0d68745 Rename "parameter" to "arg" 2018-06-20 12:19:04 +01:00
varkor
3e89753283 Rename PathParameter(s) to GenericArg(s) 2018-06-20 12:19:04 +01:00
bors
e44fc6c52d Auto merge of #48523 - varkor:generics-ty-generalisations, r=nikomatsakis
The Great Generics Generalisation: Ty Edition

Part of the generic parameter refactoring effort, split off from https://github.com/rust-lang/rust/pull/48149. Contains the `ty`-relative refactoring.

r? @eddyb
2018-05-15 23:03:04 +00:00
varkor
178a8f1139 Rename GenericParam to GenericParamDef 2018-05-15 14:20:19 +01:00
Oliver Middleton
3daded02fa rustdoc: Add support for pub(restricted) 2018-05-12 18:25:09 +01:00
Irina Popa
04fa0e7bb3 rustc_target: move in syntax::abi and flip dependency. 2018-04-26 17:49:16 +03:00
Shotaro Yamada
4800afa5f5 Cleanup 2018-03-24 14:18:06 +09:00
Shotaro Yamada
5dfa5f048e Hide synthesized type parameters 2018-03-24 14:14:21 +09:00
Guillaume Gomez
5bd5bc3f21 Remove hoedown from rustdoc
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.
2018-02-16 23:17:15 +01:00
Oliver Middleton
95f9491bc7 rustdoc: Don't try to generate links for modules in import paths
The modules may be private or may even be enums so it would generate dead links.
2017-12-28 17:51:31 +00:00
Jonas Platte
78493ed21a Add GenericParam, refactor Generics in ast, hir, rustdoc
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-21 13:38:10 +01:00
bors
2d4df9584b Auto merge of #46232 - canndrew:never-docs, r=QuietMisdreavus
Add docs for never primitive

cc @nikomatsakis, @QuietMisdreavus
2017-12-10 19:04:25 +00:00
Matt Brubeck
3024c1434a Use Try syntax for Option in place of macros or match 2017-12-09 14:18:33 -08:00
Guillaume Gomez
35f5be6646 Fix invalid HTML escape 2017-11-29 19:33:04 +01:00
Andrew Cann
afd094a602 link to never type docs 2017-11-28 09:38:19 +08:00
Josh Stone
9fda05c0bc rustdoc: add a primitive page for "unit"
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-10-17 23:03:50 -07:00
Eduard-Mihai Burtescu
3ce31eb990 rustc: replace usize with u64 and ConstUsize. 2017-09-11 08:41:15 +03:00
Guillaume Gomez
f50bf8636e Fix invalid linker position 2017-08-28 22:40:09 +02:00
QuietMisdreavus
71751db491 add documentation for function pointers as a primitive 2017-08-01 09:42:12 -05:00
QuietMisdreavus
a2d5514693 add docs for references as a primitive 2017-07-30 14:59:08 -05:00
Oliver Middleton
927625912a rustdoc: Don't ICE on use *; 2017-06-24 18:16:39 +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
Oliver Middleton
a74338d60e rustdoc: Rename Vector and FixedVector to Slice and Array
Also store the array length as a usize rather than a String.

This is just a minor refactor.
2017-06-01 13:36:36 +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
Oliver Middleton
93f78bc45e rustdoc: Display extern "C" fn instead of extern fn 2017-05-15 00:52:17 +01:00
Oliver Schneider
dd87eabd83 Remove need for &format!(...) or &&"" dances in span_label calls 2017-05-08 12:56:15 +02:00
Guillaume Gomez
dd7dfe56a9 Fix invalid associated type rendering in rustdoc 2017-04-12 18:14:54 +02:00
QuietMisdreavus
8dd4c44ef6 merge with master to pick up pulldown switch 2017-04-09 10:38:38 -05:00
QuietMisdreavus
bfd01b7f40 rustdoc: move the space at the end of where clauses
...so that we don't indent the next line by one extra space
2017-04-06 18:36:14 -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
QuietMisdreavus
36bc448c00 style: space between struct name and opening brace 2017-04-05 10:02:37 -05:00
QuietMisdreavus
6bc3d65948 rustdoc: properly indent fn signatures in traits 2017-04-04 10:31:57 -05:00
QuietMisdreavus
3643d81659 rustdoc: fix alignment of fn arguments when on multiple lines 2017-03-31 19:02:00 -05:00
QuietMisdreavus
80bff6b596 rustdoc: format where clauses like rust-lang-nursery/fmt-rfcs#38 2017-03-31 18:04:42 -05:00
QuietMisdreavus
8206d0c54e rustdoc: format fns like format rfc 39 2017-03-28 16:49:05 -05:00
Guillaume Gomez
f53172287a Add whitespace around "=" in assoc items 2017-03-21 16:22:15 -04:00
Guillaume Gomez
5364acb418 Fix invalid debug display for associated consts 2017-03-17 00:27:36 +01:00
Guillaume Gomez
ea3c82cd96 Fix associated consts display 2017-03-10 16:21:07 +01:00