Commit graph

3468 commits

Author SHA1 Message Date
Trinity Pointard
2d76d44eae remove code for recursive Deref in sidebar
fix #85037
2021-06-15 14:30:14 +02:00
Trinity Pointard
aee50f417f fix rustdoc stack overflow on mutually recursive Deref
fix #85095
2021-06-15 11:47:17 +02:00
bors
d74b36ea2f Auto merge of #84867 - pnkfelix:rustdoc-revert-deref-recur, r=jyn514
rustdoc: revert deref recur to resume inclusion of impl ExtTrait<Local> for ExtType

As discussed here: https://github.com/rust-lang/rust/issues/82465#issuecomment-829290384, Revert PR #80653 to resolve issue #82465.

Issue #82465 was we had stopped including certain trait implementations, namely implementations on an imported type of an imported trait *instantiated on a local type*. That bug was injected by PR #80653.

Reverting #80653 means we don't list all the methods that you have accessible via recursively applying `Deref`.

[Discussion in last week's rustc triage meeting](https://zulip-archive.rust-lang.org/238009tcompilermeetings/19557weekly2021042954818.html#236680594) led us to conclude that the bug was worse than the enhancement, and there was not an obvious fix for the bug itself. So for the short term we  remove the enhancement, while in the long term we will work on figuring out a way to have our imported trait implementation cake and eat it too.
2021-06-15 00:13:53 +00:00
Guillaume Gomez
a8318e420d Fix font-weight 2021-06-13 21:49:10 +02:00
Felix S. Klock II
0deba5546d manually crafted revert of PR #80653, to address issue #82465.
(update: placated tidy)
(update: rebased post PR #84707 )

merge me
2021-06-10 09:48:58 +00:00
Yuki Okushi
e163e3c043
Rollup merge of #86128 - jsha:render-impl-into-mod, r=GuillaumeGomez
Refactor: Extract render_summary from render_impl.

This allows for a more readable straight-through logic in render_impl without need for a closure.

I think this will make #85970 a bit more of a straightforward change.

This is a pure refactoring. I've verified that the output of `x.py doc library/std` is byte-for-byte identical.

r? `@GuillaumeGomez`
2021-06-09 12:04:07 +09:00
Yuki Okushi
606feba5bb
Rollup merge of #85957 - BoxyUwU:rustdoc-const-generic-defaults, r=oli-obk
Display defaults on const params- rustdoc

previously rustdoc would render this struct declaration:
`pub struct Foo<const N: usize = 10>;`
as:
`pub struct Foo<const N: usize>;`
this PR changes it to render correctly
2021-06-09 12:04:03 +09:00
Jacob Hoffman-Andrews
1c0ecd41ad Refactor: Extract render_summary from render_impl.
This allows for a more readable straight-through logic in render_impl
without need for a closure.
2021-06-07 21:40:56 -07:00
Yuki Okushi
f99a892e6d
Rollup merge of #86095 - GuillaumeGomez:search-description-codeblock, r=jsha
Search description codeblock

The codeblocks are not displayed correctly:

![Screenshot from 2021-06-07 11-11-53](https://user-images.githubusercontent.com/3050060/120991915-5fb05680-c782-11eb-9b32-973a64b1f631.png)

This PR interprets the HTML correctly (and still prevent invalid HTML because of how it inserts it):

![Screenshot from 2021-06-07 11-12-00](https://user-images.githubusercontent.com/3050060/120991919-6048ed00-c782-11eb-8ac5-c3aa6508bc8b.png)

r? ```@jsha```
2021-06-08 13:26:35 +09:00
Yuki Okushi
c783e28905
Rollup merge of #86078 - GuillaumeGomez:type-page-font-weight, r=jsha
Type page font weight

Fixes https://github.com/rust-lang/rust/issues/86069.

r? ```@jsha```
2021-06-08 13:26:32 +09:00
Guillaume Gomez
4ca7a1119e Fix integration of codeblocks in search result description 2021-06-07 11:12:39 +02:00
Guillaume Gomez
00a704f182
Rollup merge of #86040 - GuillaumeGomez:search-result-display-height, r=jsha
Fix display for search results

This fixes unwanted margin and font-weight coming from `.method`. Before:

![Screenshot from 2021-06-05 23-03-34](https://user-images.githubusercontent.com/3050060/120905486-9e46f380-c652-11eb-8008-6db6e0517ba3.png)

after:

![Screenshot from 2021-06-05 23-05-02](https://user-images.githubusercontent.com/3050060/120905489-9edf8a00-c652-11eb-817d-f676f6ab7303.png)

r? ``@jsha``
2021-06-07 01:06:53 +02:00
Guillaume Gomez
570ba09cbe Fix invalid weight for type pages 2021-06-06 23:06:01 +02:00
Guillaume Gomez
e078e56112 Fix invalid ID value in all.html file 2021-06-05 23:14:12 +02:00
Guillaume Gomez
8c9200d045 Add missing backslash in HTML layout string 2021-06-05 23:14:10 +02:00
Guillaume Gomez
e1180f521f Escape <meta> content attribute value 2021-06-05 23:13:11 +02:00
Guillaume Gomez
c01bd560e2 Fix display for search results 2021-06-05 23:03:54 +02:00
Guillaume Gomez
eef4e2a0e8
Rollup merge of #85503 - liigo:tooltips, r=GuillaumeGomez
rustdoc: add tooltips to some buttons
2021-06-05 19:41:41 +02:00
Yuki Okushi
74c744e54a
Rollup merge of #84466 - jyn514:prim-str, r=GuillaumeGomez
rustdoc: Remove `PrimitiveType::{to_url_str, as_str}`

These can easily be rewritten in terms of `as_sym`, and this avoids bugs where the two get out of sync.

I don't expect this to have a perf impact, but I'll start a perf run just in case.
2021-06-05 06:13:30 +09:00
Ellen
6dff51f37d rustdoc- Show defaults on const generics 2021-06-03 09:01:25 +01:00
bors
19579c6564 Auto merge of #84834 - GuillaumeGomez:sidebar-unification, r=jsha
Sidebar unification

This PR does a few things:
 * Put crates list at all levels (before, it was only on the "top" items)
 * Fix bug in module sidebar: the list of items was from the parent module.

The other changes (on bootstrap mostly) were to allow to generate multiple crates in a same folder so that we can ensure that clicking on the crates in the sidebar works as expected.

I added a rustdoc-gui test to ensure everything is where it should be.

r? `@jyn514`
2021-06-03 02:31:44 +00:00
Guillaume Gomez
0daf8ac41f Replace h3 for notable traits with div 2021-06-02 21:16:33 +02:00
Jacob Hoffman-Andrews
fab6814ff3 Remove data-level selectors from CSS. 2021-06-02 20:30:17 +02:00
Guillaume Gomez
98a9b02e92 Don't generate impl-items div container if there is none 2021-06-01 21:36:03 +02:00
Guillaume Gomez
93389b5568 Remove invalid usage of aria-level 2021-06-01 21:19:28 +02:00
Guillaume Gomez
9077d540da Replace h3 and h4 containing invalid DOM 2021-06-01 21:19:28 +02:00
Guillaume Gomez
42312501d0 Add missing <title> in redirection page <head> 2021-06-01 21:19:27 +02:00
Guillaume Gomez
7414d28e0b Replace empty href with "#" 2021-06-01 21:19:27 +02:00
Guillaume Gomez
82b84bfca4
Rollup merge of #85860 - pickfire:patch-5, r=GuillaumeGomez
Fix details rustdoc toggle for blanket impl

In the meantime, allow all of the details to have the same top.

Before

![image](https://user-images.githubusercontent.com/4687791/120214139-a673ed00-c266-11eb-9154-3a8148199c8f.png)
![image](https://user-images.githubusercontent.com/4687791/120214232-c5727f00-c266-11eb-8bda-871e6e04819e.png)

After

![image](https://user-images.githubusercontent.com/4687791/120214121-9d831b80-c266-11eb-8c33-db1317c42375.png)
![image](https://user-images.githubusercontent.com/4687791/120214273-d4f1c800-c266-11eb-89ee-0f2b7c2e5bdb.png)

I stumbled across this while wanting to do a details button for the layout.
2021-06-01 11:29:45 +02:00
Guillaume Gomez
085691b137
Rollup merge of #85622 - jsha:untoggle-undocumented, r=GuillaumeGomez
Remove toggle for "undocumented items."

Per discussion in #84326. For trait implementations, this was
misleading: the items actually do have documentation (but it comes from
the trait definition).

For both trait implementations and trait implementors, this was
redundant: in both of those cases, the items are default-hidden by
different toggle at the level above.

Update tests: Remove XPath selectors that over-specified on details tag,
in cases that weren't testing toggles. Add an explicit test for toggles
on methods. Rename item-hide-threshold to toggle-item-contents for
consistency.

Demo:
https://hoffman-andrews.com/rust/untoggle-undocumented/std/string/struct.String.html
https://hoffman-andrews.com/rust/untoggle-undocumented/std/io/trait.Read.html
2021-06-01 11:29:43 +02:00
Ivan Tham
2970479412
Fix details rustdoc toggle for blanket impl
In the meantime, allow all of the details to have the same top.
2021-05-31 23:18:53 +08:00
Ivan Tham
0c5ed2cb95
Add title for copy to clipboard button in rustdoc 2021-05-31 22:51:59 +08:00
Guillaume Gomez
9b637fa72e Improve display of the separation between page items and siblings in the sidebar 2021-05-31 15:20:45 +02:00
Guillaume Gomez
a2ba9ef1ff Only list crates on the crate page 2021-05-31 15:20:45 +02:00
Guillaume Gomez
e081cd48f4 Remove unneeded file to load sidebar items at crate level 2021-05-31 10:30:36 +02:00
Guillaume Gomez
dab01a05fb * Put crates list at all levels
* Fix bug in module sidebar: the list of items was from the parent module
2021-05-31 10:30:16 +02:00
Jacob Hoffman-Andrews
10bafe1975 Remove toggle for "undocumented items."
Per discussion in #84326. For trait implementations, this was
misleading: the items actually do have documentation (but it comes from
the trait definition).

For both trait implementations and trait implementors, this was
redundant: in both of those cases, the items are default-hidden by
different toggle at the level above.

Update tests: Remove XPath selectors that over-specified on details tag,
in cases that weren't testing toggles. Add an explicit test for toggles
on methods. Rename item-hide-threshold to toggle-item-contents for
consistency.
2021-05-30 21:15:22 -07:00
Guillaume Gomez
f7fb29b59d
Rollup merge of #85770 - Bobo1239:set_locale_for_sort, r=jyn514
Remove `--print unversioned-files` from rustdoc

This flag isn't needed anymore. See #83784.
2021-05-30 21:06:46 +02:00
Guillaume Gomez
9c873c1240
Rollup merge of #85285 - GuillaumeGomez:eslint-check, r=jsha,Mark-Simulacrum
Add eslint checks to CI

It also allowed me to fix some potential issues that went unnoticed. Having this process automated will hopefully prevent us to add more errors. :)

cc `@Mark-Simulacrum` (for the add in the CI).
r? `@jsha`
2021-05-30 21:06:43 +02:00
Guillaume Gomez
558b073c4c Fix eslint error in sidebar-items.js 2021-05-30 20:20:59 +02:00
bors
ff5522fc1a Auto merge of #85540 - GuillaumeGomez:better-result-dom-generation, r=jsha
Better result dom generation

First commit is from https://github.com/rust-lang/rust/pull/85506.

We realized in https://github.com/rust-lang/rust/pull/85506#issuecomment-844984162 thanks to `@dns2utf8` that in some cases, the generated search result DOM was invalid. This was not strict enough and the DOM was inserted as a big string, which wasn't great.

r? `@jsha`
2021-05-29 16:27:14 +00:00
Boris-Chengbiao Zhou
8b6dad2a12 Remove --print unversioned-files from rustdoc
This flag isn't needed anymore. See #83784.
2021-05-28 21:23:53 +02:00
Guillaume Gomez
6ac83e1808
Rollup merge of #85722 - GuillaumeGomez:trait-toggle, r=jsha
Fix trait methods' toggle

A `<details>` tag wasn't closed on trait methods, which created broken DOM. I also used this occasion to only generate the toggle in case there is documentation on the method.

r? `@jsha`
2021-05-27 20:08:17 +02:00
Guillaume Gomez
f9499ea9f5 * Fix bug where some <details> tags were not closed.
* Don't generate a <details> if there is no documentation
2021-05-26 14:35:39 +02:00
Yuki Okushi
0264f4fe4a
Rollup merge of #84048 - konan8205:master, r=jsha
Avoid CJK legacy fonts in Windows

As metioned in #84035, the default serif CJK font in Windows is meh-looking.
To avoid this, we should use sans-serif font or provide CJK glyph supported font in `rustdoc.css`.
2021-05-26 13:30:54 +09:00
Guillaume Gomez
e4067a30c7 Fix more search results CSS rules 2021-05-25 17:18:04 +02:00
Guillaume Gomez
61c47ba880 Generate DOM more securely 2021-05-25 17:05:51 +02:00
Guillaume Gomez
afec7261bc
Rollup merge of #85657 - kpreid:brackets, r=jyn514
Remove doubled braces in non_exhaustive structs’ documentation text.

In commit 4b80687854 (part of Rust 1.52.1) many calls to `write!(w,` were replaced with `w.write_str(`, but this one contained braces that were doubled to escape them when taken as a format string, and so changing the call without changing the text caused them to become doubled in the final HTML output.

I examined `print_item.rs` and the diff of that prior commit for any other occurrences of this mistake and I did not find any.
2021-05-25 13:05:17 +02:00
Guillaume Gomez
706aa31a2d Move extra search result information for keywords and primitives from CSS to DOM 2021-05-25 10:44:05 +02:00
Kevin Reid
08e7c6ba6f Remove doubled braces in non_exhaustive structs’ documentation text.
In commit 4b80687854 (part of Rust 1.52.1)
many calls to `write!(w,` were replaced with `w.write_str(`, but this
one contained braces that were doubled to escape them when taken as a
format string, and so changing the call without changing the text caused
them to become doubled in the final HTML output.

I examined `print_item.rs` and the diff of that prior commit for any
other occurrences of this mistake and I did not find any.
2021-05-24 20:47:10 -07:00