Commit graph

10000 commits

Author SHA1 Message Date
Matthias Krüger
e1d72a485a
Rollup merge of #103091 - notriddle:notriddle/sidebar-title, r=GuillaumeGomez
rustdoc: remove unused HTML class `sidebar-title`

Since 6a5f8b1aef, this class is no longer styled.
2022-10-17 17:15:51 +02:00
Matthias Krüger
81ea72b38e
Rollup merge of #103129 - notriddle:notriddle/sub-logo-container, r=GuillaumeGomez
rustdoc: remove unused `.sub-logo-container` DOM on non-source pages
2022-10-17 13:11:07 +02:00
Michael Howell
bcf4cfe790 rustdoc: clean up .sub-logo-container CSS
* Since it's used exclusively on source pages, no need to explicitly
  select.

* No need to hide it when the sidebar is open, since it fills the whole
  page.
2022-10-16 17:57:26 -07:00
Michael Howell
b979697992 rustdoc: remove unused .sub-logo-container DOM on non-source pages 2022-10-16 17:57:26 -07:00
bors
a501e6699e Auto merge of #103125 - matthiaskrgr:rollup-82xttcl, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - #103087 (Documentation BTreeMap::append's behavior for already existing keys)
 - #103089 (Mark derived StructuralEq as automatically derived.)
 - #103102 (Clarify the possible return values of `len_utf16`)
 - #103109 (PhantomData: inline a macro that is used only once)
 - #103120 (rustdoc: Do not expect `doc(primitive)` modules to always exist)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-10-16 23:15:20 +00:00
Matthias Krüger
db30a25781
Rollup merge of #103120 - petrochenkov:docice, r=GuillaumeGomez
rustdoc: Do not expect `doc(primitive)` modules to always exist

The second commit fixes one more ICE by processing impls in crates loaded through the "load all `--extern`s" hack.

Fixes https://github.com/rust-lang/rust/issues/96288
Fixes https://github.com/rust-lang/rust/issues/103028
2022-10-16 22:36:07 +02:00
bors
b8b5caee04 Auto merge of #102026 - Bryanskiy:resolve_update, r=petrochenkov
Populate effective visibilities in 'rustc_resolve'

Next part of RFC https://github.com/rust-lang/rust/issues/48054.
previous: https://github.com/rust-lang/rust/pull/101713

`@rustbot` author
r? `@petrochenkov`
2022-10-16 20:34:38 +00:00
Bryanskiy
496ccd982c Populate effective visibilities in 'rustc_resolve' 2022-10-16 21:47:14 +03:00
Vadim Petrochenkov
dd7411d848 rustdoc: Process extern impls in all loaded crates
including those loaded through hacks.
2022-10-16 21:55:55 +04:00
Vadim Petrochenkov
c65f3db2d9 rustdoc: Do not expect doc(primitive) modules to always exist 2022-10-16 20:44:50 +04:00
Matthias Krüger
0bd24c5dc5
Rollup merge of #103060 - notriddle:notridddle/help-page, r=GuillaumeGomez
rustdoc: make the help button a link to a page

This allows you to open the help section in a new browser tab, which is a pretty reasonable thing to want for a documentation page.

Preview: http://notriddle.com/notriddle-rustdoc-demos/help-page/std/index.html
2022-10-16 17:51:31 +02:00
Michael Howell
834448163d rustdoc: make help button a no-op when on help page 2022-10-15 21:45:59 -07:00
Michael Howell
6f59981a7a rustdoc: fix Ctrl-Click on help and settings links 2022-10-15 11:45:27 -07:00
Michael Howell
ae4ad9adb6 rustdoc: make the help button a link to a page
This allows you to open the help section in a new browser tab, which is a
pretty reasonable thing to want for a documentation page.
2022-10-15 11:38:42 -07:00
Michael Howell
e9b2922804 rustdoc: remove unused HTML class sidebar-title
Since 6a5f8b1aef, this class is no
longer styled.
2022-10-15 11:24:49 -07:00
Guillaume Gomez
e14d2efba3 Fix display of settings page 2022-10-15 15:59:00 +02:00
nils
3c0062641d
Add some tidy-alphabetical 2022-10-14 21:18:03 +02:00
Dylan DPC
587b9c1a97
Rollup merge of #103025 - notriddle:notriddle/search-container-star, r=GuillaumeGomez
rustdoc: remove unused CSS `.search-container > *`

The two items it was really intended to target were the buttons, and those both need to have the style set directly on them anyway because the buttons are both child elements of wrappers.

6b3ede3f7b/src/librustdoc/html/static/css/rustdoc.css (L1406-L1411)
2022-10-14 16:19:16 +05:30
Dylan DPC
77064b7f0a
Rollup merge of #103018 - Rageking8:more-dupe-word-typos, r=TaKO8Ki
More dupe word typos

I only picked those changes (from the regex search) that I am pretty certain doesn't change meaning and is just a typo fix. Do correct me if any fix is undesirable and I can revert those. Thanks.
2022-10-14 16:19:15 +05:30
Dylan DPC
20e1268d25
Rollup merge of #102914 - GuillaumeGomez:migrate-css-highlight-without-change, r=notriddle
Migrate css highlight without change

This is a "previous" version of https://github.com/rust-lang/rust/pull/102663: only migrating to CSS variables, no changes. It's a bit more verbose because rules are not coherent between themes.

r? ``@notriddle``
2022-10-14 16:19:13 +05:30
Rageking8
7122abaddf more dupe word typos 2022-10-14 12:57:56 +08:00
Matthias Krüger
9692d98e4f
Rollup merge of #103006 - WaffleLapkin:rustdoc_dont, r=compiler-errors
rustdoc: don't ICE on `TyKind::Typeof`

Fixes #102986

I'm not sure why rustdoc started seeing `TyKind::Typeof` all of a sudden (the code being editted was last touched 3 months ago), probably something to do with error recovery? idk.
2022-10-14 00:45:17 +02:00
Michael Howell
513f699eac rustdoc: remove unused CSS .search-container > *
The two items it was really intended to target were the buttons, and those
both need to have the style set directly on them anyway because the buttons
are both child elements of wrappers.
2022-10-13 14:53:57 -07:00
Maybe Waffle
3df9afcae7 rustdoc: don't ICE on TyKind::Typeof 2022-10-13 07:33:34 +00:00
Yuki Okushi
e8029368d3
Rollup merge of #102980 - notriddle:notriddle/content, r=GuillaumeGomez
rustdoc: merge separate `.item-info` CSS

Rough timeline:

* The longer `.content .item-info` selector originated in 110e7270ab. No reason seems to be given in the PR why it needed the `.content` part, but it was probably added because of <110e7270ab/src/librustdoc/html/static/rustdoc.css (L476-L478)>. That selector with the margin-bottom was removed when CSS containment was added in 8846c0853d.
* `.stability` was renamed `.item-info` in caf6c5790a.
* The selector without the `.content` was added in d48a39a5e2.
2022-10-13 09:41:28 +09:00
Michael Howell
f8da2295de rustdoc: merge separate .item-info CSS
Rough timeline:

* The longer `.content .item-info` selector originated in
  110e7270ab. No reason seems to be given in
  the PR why it needed the `.content` part, but it was probably added because
  of <110e7270ab/src/librustdoc/html/static/rustdoc.css (L476-L478)>.
  That selector with the margin-bottom was removed when CSS containment
  was added in 8846c0853d.
* `.stability` was renamed `.item-info` in
  caf6c5790a.
* The selector without the `.content` was added in
  d48a39a5e2.
2022-10-12 11:24:23 -07:00
Dylan DPC
dcf7052b13
Rollup merge of #102936 - notriddle:notriddle/nav-sum, r=Dylan-DPC
rustdoc: remove unused CSS `nav.sum`

This was added in 4fd061c426, but never actually used.
2022-10-12 22:13:26 +05:30
Dylan DPC
dc9f6f3243
Rollup merge of #102623 - davidtwco:translation-eager, r=compiler-errors
translation: eager translation

Part of #100717. See [Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/336883-i18n/topic/.23100717.20lists!/near/295010720) for additional context.

- **Store diagnostic arguments in a `HashMap`**: Eager translation will enable subdiagnostics to be translated multiple times with different arguments - this requires the ability to replace the value of one argument with a new value, which is better suited to a `HashMap` than the previous storage, a `Vec`.
- **Add `AddToDiagnostic::add_to_diagnostic_with`**: `AddToDiagnostic::add_to_diagnostic_with` is similar to the previous `AddToDiagnostic::add_to_diagnostic` but takes a function that can be used by the caller to modify diagnostic messages originating from the subdiagnostic (such as performing translation eagerly). `add_to_diagnostic` now just calls `add_to_diagnostic_with` with an empty closure.
- **Add `DiagnosticMessage::Eager`**: Add variant of `DiagnosticMessage` for eagerly translated messages
(messages in the target language which don't need translated by the emitter during emission). Also adds `eager_subdiagnostic` function which is intended to be invoked by the diagnostic derive for subdiagnostic fields which are marked as needing eager translation.
- **Support `#[subdiagnostic(eager)]`**: Add support for `eager` argument to the `subdiagnostic` attribute which generates a call to `eager_subdiagnostic`.
- **Finish migrating `rustc_query_system`**: Using eager translation, migrate the remaining repeated cycle stack diagnostic.
- **Split formatting initialization and use in diagnostic derives**: Diagnostic derives have previously had to take special care when ordering the generated code so that fields were not used after a move.

  This is unlikely for most fields because a field is either annotated with a subdiagnostic attribute and is thus likely a `Span` and copiable, or is a argument, in which case it is only used once by `set_arg`
anyway.

  However, format strings for code in suggestions can result in fields being used after being moved if not ordered carefully. As a result, the derive currently puts `set_arg` calls last (just before emission), such as:

      let diag = { /* create diagnostic */ };

      diag.span_suggestion_with_style(
          span,
          fluent::crate::slug,
          format!("{}", __binding_0),
          Applicability::Unknown,
          SuggestionStyle::ShowAlways
      );
      /* + other subdiagnostic additions */

      diag.set_arg("foo", __binding_0);
      /* + other `set_arg` calls */

      diag.emit();

  For eager translation, this doesn't work, as the message being translated eagerly can assume that all arguments are available - so arguments _must_ be set first.

  Format strings for suggestion code are now separated into two parts - an initialization line that performs the formatting into a variable, and a usage in the subdiagnostic addition.

  By separating these parts, the initialization can happen before arguments are set, preserving the desired order so that code compiles, while still enabling arguments to be set before subdiagnostics are added.

      let diag = { /* create diagnostic */ };

      let __code_0 = format!("{}", __binding_0);
      /* + other formatting */

      diag.set_arg("foo", __binding_0);
      /* + other `set_arg` calls */

      diag.span_suggestion_with_style(
          span,
          fluent::crate::slug,
          __code_0,
          Applicability::Unknown,
          SuggestionStyle::ShowAlways
      );
      /* + other subdiagnostic additions */

      diag.emit();

- **Remove field ordering logic in diagnostic derive:** Following the approach taken in earlier commits to separate formatting initialization from use in the subdiagnostic derive, simplify the diagnostic derive by removing the field-ordering logic that previously solved this problem.

r? ```@compiler-errors```
2022-10-12 22:13:23 +05:30
Michael Howell
46169e6658 rustdoc: merge identical CSS selectors 2022-10-11 15:05:22 -07:00
Michael Howell
87060c42ff rustdoc: remove unused CSS nav.sum
This was added in 4fd061c426, but never
actually used.
2022-10-11 14:46:49 -07:00
Michael Howell
062284af6e rustdoc: remove unneeded .content selector from link colors
Since 98f05a0282 and
b5963f07e6 removed color classes from sidebar
items, there's no need for the selectors to be so specific any more.

This commit does have to change `h1.fqn a` to just be `h1 a`, so that the
header link color selector is less specific than the typed link at the end.
Since #89506 made docblocks start at `h2`, the main page link header should
be the only h1 in the page now.
2022-10-11 09:22:40 -07:00
Michael Howell
b5963f07e6 rustdoc: remove unused classes from sidebar
Since 98f05a0282 removed separate colors
from the currently-selected item, there's no need to have item classes on
sidebar links.
2022-10-11 08:50:41 -07:00
Yuki Okushi
3011538b80
Rollup merge of #102898 - notriddle:notriddle/sidebar-block, r=GuillaumeGomez
rustdoc: remove unneeded `<div>` wrapper from sidebar DOM

When this was added, the sidebar had a bit more complex style. It can be removed, now.

Preview: https://notriddle.com/notriddle-rustdoc-demos/sidebar-block/std/index.html
2022-10-11 18:37:55 +09:00
Guillaume Gomez
202ccc50dd Migrate highlight style to CSS variables 2022-10-11 11:34:29 +02:00
Michael Howell
44f466cb08
Remove outdated comment 2022-10-10 17:53:27 -07:00
bors
518263d889 Auto merge of #102896 - matthiaskrgr:rollup-jg5xawz, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #101360 (Point out incompatible closure bounds)
 - #101789 (`let`'s not needed in struct field definitions)
 - #102846 (update to syn-1.0.102)
 - #102871 (rustdoc: clean up overly complex `.trait-impl` CSS selectors)
 - #102876 (suggest candidates for unresolved import)
 - #102888 (Improve rustdoc-gui search-color test)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-10-11 00:36:26 +00:00
Michael Howell
b63b02f872 rustdoc: remove unneeded <div> wrapper from sidebar DOM
When this was added, the sidebar had a bit more complex style. It can be
removed, now.
2022-10-10 11:40:15 -07:00
Guillaume Gomez
d9570e0510 Stabilize rustdoc CHECK_INVALID_HTML_TAGS check 2022-10-10 18:28:29 +02:00
Guillaume Gomez
6add6a1e1e Change default lint level of INVALID_HTML_TAGS to warning 2022-10-10 18:28:29 +02:00
David Wood
508d7e6d26 errors: use HashMap to store diagnostic args
Eager translation will enable subdiagnostics to be translated multiple
times with different arguments - this requires the ability to replace
the value of one argument with a new value, which is better suited to a
`HashMap` than the previous storage, a `Vec`.

Signed-off-by: David Wood <david.wood@huawei.com>
2022-10-10 14:20:16 +01:00
Michael Howell
03fe005f49 rustdoc: clean up overly complex .trait-impl CSS selectors
When added in 45964368f4, these multi-class
selectors were present in the initial commit, but no reason was given why
the shorter selector wouldn't work.
2022-10-09 23:19:50 -07:00
Yuki Okushi
deb93ca060
Rollup merge of #102834 - compiler-errors:unnecessary-lift, r=jyn514
Remove unnecessary `lift`/`lift_to_tcx` calls from rustdoc

Not sure why they were here in the first place
2022-10-10 00:09:43 +09:00
Yuki Okushi
0a9b09f9fd
Rollup merge of #102831 - compiler-errors:rustdoc-norm-oops, r=jyn514
Don't use unnormalized type in `Ty::fn_sig` call in rustdoc `clean_middle_ty`

Self-explanatory

Fixes #102828
2022-10-10 00:09:42 +09:00
Yuki Okushi
24424d0acb
Rollup merge of #102829 - compiler-errors:rename-impl-item-kind, r=TaKO8Ki
rename `ImplItemKind::TyAlias` to `ImplItemKind::Type`

The naming of this variant seems inconsistent given that this is not really a "type alias", and the associated type variant for `TraitItemKind` is just called `Type`.
2022-10-10 00:09:42 +09:00
Yuki Okushi
fb27d01922
Rollup merge of #102799 - rol1510:issue-100421-fix, r=notriddle
rustdoc: remove hover gap in file picker

Fixes #100421

Before:
<img width="385" alt="image" src="https://user-images.githubusercontent.com/29011024/194677087-fda2db3e-126d-47cf-8152-c554e3c25a54.png">

After:
<img width="388" alt="image" src="https://user-images.githubusercontent.com/29011024/194676774-7a50ace9-4060-492e-849a-ad85d9132630.png">

longe module names also wrap nicely:
<img width="389" alt="image" src="https://user-images.githubusercontent.com/29011024/194678516-f2497b3a-8d50-439b-9d69-3fa9fb43b84d.png">

Also if you zoom out very far, the arrows did move to the left, in relation to the text below. This is now also fixed.
<img width="818" alt="image" src="https://user-images.githubusercontent.com/29011024/194677652-cfdf129d-f5db-4f26-ac3c-3d0853e89619.png">

CSS doesn't have a lot of controll over the `::marker` element, so now the `::after` element is used to draw the arrows.

Now the whole line is clickable wihtout gaps.
2022-10-10 00:09:41 +09:00
Michael Goulet
9a4d4d5e6b Remove unnecessary lift calls from rustdoc 2022-10-09 09:07:03 +00:00
Roland Strasser
7fdce6498a rustdoc: fix file picker marker renders twice on ios 2022-10-09 11:02:44 +02:00
Michael Goulet
7dedb9192d Don't use unnormalized type in Ty::fn_sig 2022-10-09 07:52:33 +00:00
Michael Goulet
70f3c79c50 ImplItemKind::TyAlias => ImplItemKind::Type 2022-10-09 07:09:57 +00:00
Michael Howell
16a1eeacbf
Rollup merge of #102818 - rust-lang:clean-up-highlight-impots, r=Urgau
Clean up rustdoc highlight.rs imports a bit

r? `@Dylan-DPC`
2022-10-08 18:15:02 -07:00