Commit graph

10079 commits

Author SHA1 Message Date
Guillaume Gomez
0ef36b8945 Add regression test for missing item from private mod in JSON output 2022-10-29 11:56:08 +02:00
Guillaume Gomez
f0234f1976 Add missing impl blocks for item reexported from private mod in JSON output 2022-10-29 11:43:29 +02:00
bors
607878d069 Auto merge of #102698 - michaelwoerister:unord-collections, r=lncr
Introduce UnordMap, UnordSet, and UnordBag (MCP 533)

This is the start of implementing [MCP 533](https://github.com/rust-lang/compiler-team/issues/533).

I followed `@eddyb's` suggestion of naming the collection types `Unord(Map/Set/Bag)` which is a bit easier to type than `Unordered(Map/Set/Bag)`

r? `@eddyb`
2022-10-29 06:20:48 +00:00
bors
33b55ac39f Auto merge of #102233 - petrochenkov:effvis, r=jackh726
privacy: Rename "accessibility levels" to "effective visibilities"

And a couple of other naming and comment tweaks.

Related to https://github.com/rust-lang/rust/issues/48054

For `enum Level` I initially used naming `enum EffectiveVisibilityLevel`, but it was too long and inconvenient because it's used pretty often.
So I shortened it to just `Level`, if it needs to be used from some context where this name would be ambiguous, then it can be imported with renaming like `use rustc_middle::privacy::Level as EffVisLevel` or something.
2022-10-29 03:08:59 +00:00
bors
a9ef10019f Auto merge of #103671 - matthiaskrgr:rollup-iuugpep, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - #102642 (Add tests for static async functions in traits)
 - #103283 (Add suggestions for unsafe impl error codes)
 - #103523 (Fix unwanted merge of inline doc comments for impl blocks)
 - #103550 (diagnostics: do not suggest static candidates as traits to import)
 - #103641 (Don't carry MIR location in `ConstraintCategory::CallArgument`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-10-28 09:41:40 +00:00
Matthias Krüger
32c96248c5
Rollup merge of #103643 - notriddle:notriddle/summary-focus-visible, r=GuillaumeGomez
rustdoc: stop hiding focus outlines on non-rustdoc-toggle details tags

We really shouldn't be overriding this kind of stuff unless the browser default is really broken (like outlining the thing that isn't clickable). This directly reverts b8f4e74cbc.
2022-10-28 07:06:47 +02:00
Matthias Krüger
6e1613a0c5
Rollup merge of #103585 - GuillaumeGomez:source-line-css, r=notriddle
Migrate source line numbers CSS to CSS variables

Part of https://github.com/rust-lang/rust/pull/98460.

No UI changes.

r? ``@notriddle``
2022-10-28 07:06:45 +02:00
Matthias Krüger
2f02cf8768
Rollup merge of #103523 - GuillaumeGomez:inline-doc-comment-impl-block, r=notriddle
Fix unwanted merge of inline doc comments for impl blocks

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

We need this merge mechanism for inlined items but it's completely unwanted for impl blocks (at least the doc comments are, not the other attributes) since we want to keep what `cfg()` is put on the `pub use` or other attributes.

r? ``@notriddle``
2022-10-28 07:06:42 +02:00
Michael Howell
dd912add18 rustdoc: stop hiding focus outlines on non-rustdoc-toggle details tags
We really shouldn't be overriding this kind of stuff unless the browser
default is really broken (like outlining the thing that isn't clickable).
This directly reverts b8f4e74cbc.
2022-10-27 10:01:28 -07:00
Michael Woerister
9117ea9758 Introduce UnordMap, UnordSet, and UnordBag (see MCP 533)
MCP 533: https://github.com/rust-lang/compiler-team/issues/533

Also, as an example, substitute UnordMap for FxHashMap in
used_trait_imports query result.
2022-10-27 13:23:26 +00:00
Matthias Krüger
ae4dc12519
Rollup merge of #103616 - rust-lang:notriddle/moz-box-sizing, r=GuillaumeGomez
rustdoc: remove CSS workaround for Firefox 29

CSS variables, which rustdoc now relies on, are only supported in Firefox 31 and later: https://www.mozilla.org/en-US/firefox/31.0/releasenotes/

This means it’s fine to also rely on unprefixed box-sizing, which is supported in Firefox 29 and later: https://www.mozilla.org/en-US/firefox/29.0/releasenotes/
2022-10-27 15:03:58 +02:00
Matthias Krüger
5623024cf8
Rollup merge of #103505 - notriddle:notriddle/rustdoc-self-closing-tags, r=GuillaumeGomez
rustdoc: parse self-closing tags and attributes in `invalid_html_tags`

Fixes #103460
2022-10-27 15:03:57 +02:00
Matthias Krüger
571771e54a
Rollup merge of #103408 - compiler-errors:rpitit-rustdoc, r=GuillaumeGomez
Clean return-position `impl Trait` in traits correctly in rustdoc

Fixes #103403
2022-10-27 15:03:56 +02:00
Guillaume Gomez
0185be2ce4 Migrate line numbers CSS to CSS variables 2022-10-27 13:07:07 +02:00
Matthias Krüger
29698dc38a
Rollup merge of #103592 - notriddle:notriddle/notable-traits-notable, r=GuillaumeGomez
rustdoc: remove redundant CSS selector `.notable-traits .notable`

The margin was already being set to 0 only a few lines lower.
2022-10-27 09:25:11 +02:00
Michael Howell
4d4b567bcc
rustdoc: remove CSS workaround for Firefox 29
CSS variables, which rustdoc now relies on, are only supported in Firefox 31 and later: https://www.mozilla.org/en-US/firefox/31.0/releasenotes/

This means it’s fine to also rely on unprefixed box-sizing, which is supported in Firefox 29 and later: https://www.mozilla.org/en-US/firefox/29.0/releasenotes/
2022-10-26 21:13:20 -07:00
Yuki Okushi
49076141fa
Rollup merge of #103537 - notriddle:notriddle/line-numbers, r=GuillaumeGomez
rustdoc: combine shared CSS between `.*-line-numbers`

Example: https://notriddle.com/notriddle-rustdoc-demos/line-numbers/test_dingus/fn.test.html

This PR should result in no visible changes. The example is here, so it can be easily tested in different browsers.
2022-10-27 08:30:55 +09:00
Yuki Okushi
ec7ffdfbaf
Rollup merge of #103432 - jsha:box-is-not-notable, r=GuillaumeGomez
rustdoc: don't mark Box<T> as Iterator, Read, etc

Because Box<T> has pass-through implementations, rustdoc was giving it the "Notable Traits" treatment for Iterator, Read, Write, and Future, even when the type of T was unspecified.

Pin had the same problem, but just for Future.

Fixes #100320
2022-10-27 08:30:54 +09:00
Michael Howell
3dd7009f1f rustdoc: remove redundant CSS selector .notable-traits .notable
The margin was already being set to 0 only a few lines lower.
2022-10-26 12:15:58 -07:00
Vadim Petrochenkov
34eb73c72d privacy: Rename "accessibility levels" to "effective visibilities"
And a couple of other naming tweaks

Related to https://github.com/rust-lang/rust/issues/48054
2022-10-26 16:34:53 +04:00
Michael Howell
b857138d3b
Update src/librustdoc/html/static/css/rustdoc.css
Co-authored-by: Jacob Hoffman-Andrews <github@hoffman-andrews.com>
2022-10-26 02:41:34 -07:00
Michael Howell
60b5f6dc91 rustdoc: add visible focus outline to rustdoc-toggle
The change in opacity is inconsistent with most of rustdoc, which uses
default browser styles for the focus outline. Unfortunately, just using
the default focus outline here won't work, because it gets applied to
the summary itself instead of the pseudo-element "real button."
2022-10-25 16:52:50 -07:00
Guillaume Gomez
641bf08396 Don't merge inline doc comments for impl blocks 2022-10-25 23:24:39 +02:00
Michael Howell
626d7fc613 rustdoc: combine shared CSS between .*-line-numbers 2022-10-25 10:43:08 -07:00
Michael Howell
f9cace081d rustdoc: parse self-closing tags and attributes in invalid_html_tags
Fixes #103460
2022-10-24 17:52:35 -07:00
Yuki Okushi
d0ffd20a75
Rollup merge of #103495 - Enselic:rustdoc-unix_sigpipe, r=notriddle
rustdoc: Use `unix_sigpipe` instead of `rustc_driver::set_sigpipe_handler`

Do what was already done for `rustc` in #102587, namely start using `unix_sigpipe` instead of `rustc_driver::set_sigpipe_handler`.

After this has been merged, we can completely remove `rustc_driver::set_sigpipe_handler`.

PR that added `set_sigpipe_handler`: https://github.com/rust-lang/rust/pull/49606

Tracking issue for `unix_sigpipe`: #97889

Verification of this change
---------------------------

1. Remove `#[unix_sigpipe = "sig_dfl"]`
1. Run `./x.py build`
1. Run `./build/aarch64-apple-darwin/stage1/bin/rustdoc --help | false`
1. Observe ICE
1. Add back `#[unix_sigpipe = "sig_dfl"]`
1. Run `./x.py build`
1. Run `./build/aarch64-apple-darwin/stage1/bin/rustdoc --help | false`
1. Observe ICE fixed

``@rustbot`` labels +T-rustdoc
2022-10-25 08:01:31 +09:00
Yuki Okushi
b09ce608a8
Rollup merge of #103494 - notriddle:notriddle/test-arrow-hover, r=GuillaumeGomez
rustdoc: remove redundant CSS `a.test-arrow:hover`

In 4b402dbe69, when this rule was added, it was overriding a rule that made all links in docblock get an underline when hovered. This became redundant when, after reordering the rules, 7585632052 changed the pro-underline rule to exclude the test-arrow link anyway.
2022-10-25 08:01:31 +09:00
Yuki Okushi
9ecba382a6
Rollup merge of #103493 - notriddle:notriddle/source-sidebar-logo, r=GuillaumeGomez
rustdoc: remove unused `.sidebar-logo` DOM on source pages
2022-10-25 08:01:30 +09:00
Yuki Okushi
db0e438370
Rollup merge of #103462 - notriddle:notriddle/source-pre-rust-white-space, r=Dylan-DPC
rustdoc: remove no-op CSS `.source pre.rust { white-space: pre }`

This rule, added in 49e6db7f35, overrode a rule in normalize.css.

49e6db7f35/src/librustdoc/html/static/normalize.css (L169-L175)

When normalize.css was updated, this rule went away.

a8edd0c5aa
2022-10-25 08:01:29 +09:00
Martin Nordholts
5e624bf4ba rustdoc: Use unix_sigpipe instead of rustc_driver::set_sigpipe_handler
Start using `unix_sigpipe` instead of
`rustc_driver::set_sigpipe_handler`.

After this has been merged, we can completely remove
`rustc_driver::set_sigpipe_handler`.

Verification of this change
---------------------------

1. Remove `#[unix_sigpipe = "sig_dfl"]`
1. Run `./x.py build`
1. Run `./build/aarch64-apple-darwin/stage1/bin/rustdoc --help | false`
1. Observe ICE
1. Add back `#[unix_sigpipe = "sig_dfl"]`
1. Run `./x.py build`
1. Run `./build/aarch64-apple-darwin/stage1/bin/rustdoc --help | false`
1. Observe ICE fixed
2022-10-24 20:40:46 +02:00
Michael Howell
f0f0a7dbc2 rustdoc: remove redundant CSS a.test-arrow:hover
In 4b402dbe69, when this rule was added, it
was overriding a rule that made all links in docblock get an underline when
hovered. This became redundant when, after reordering the rules,
7585632052 changed the pro-underline rule to
exclude the test-arrow link anyway.
2022-10-24 11:39:19 -07:00
Michael Howell
4e1abcda1b rustdoc: remove unused .sidebar-logo DOM on source pages 2022-10-24 10:47:24 -07:00
Yuki Okushi
779418deb4
Rollup merge of #99939 - saethlin:pre-sort-tests, r=thomcc,jackh726
Sort tests at compile time, not at startup

Recently, another Miri user was trying to run `cargo miri test` on the crate `iced-x86` with `--features=code_asm,mvex`. This configuration has a startup time of ~18 minutes. That's ~18 minutes before any tests even start to run. The fact that this crate has over 26,000 tests and Miri is slow makes a lot of code which is otherwise a bit sloppy but fine into a huge runtime issue.

Sorting the tests when the test harness is created instead of at startup time knocks just under 4 minutes out of those ~18 minutes. I have ways to remove most of the rest of the startup time, but this change requires coordinating changes of both the compiler and libtest, so I'm sending it separately.

(except for doctests, because there is no compile-time harness)
2022-10-24 19:32:25 +09:00
Michael Howell
45a9d18969 rustdoc: remove no-op CSS .source pre.rust { white-space: pre }
This rule, added in 49e6db7f35, overrode a
rule in normalize.css.

49e6db7f35/src/librustdoc/html/static/normalize.css (L169-L175)

When normalize.css was updated, this rule went away.

a8edd0c5aa
2022-10-23 22:16:13 -07:00
Jacob Hoffman-Andrews
63d1a721f1 rustdoc: don't mark Box<T> as Iterator, Read, etc
Because Box<T> has pass-through implementations, rustdoc was giving it the
"Notable Traits" treatment for Iterator, Read, Write, and Future, even when the
type of T was unspecified.

Pin had the same problem, but just for Future.
2022-10-23 22:14:10 -07:00
Michael Howell
88e0546a4c
Rollup merge of #103424 - notriddle:notriddle/code-header-border-bottom-none, r=GuillaumeGomez
rustdoc: remove no-op CSS `.code-header { border-bottom: none }`

The code headers are always h3 or h4, which don't have border-bottom by default anyway.
2022-10-23 14:48:18 -07:00
Michael Howell
28a1bafd48
Rollup merge of #103254 - fmease:fix-24183, r=GuillaumeGomez
rustdoc: do not filter out cross-crate `Self: Sized` bounds

All type parameters **except `Self`** are implicitly `Sized` ([via](https://doc.rust-lang.org/nightly/std/marker/trait.Sized.html)). Previously, we disregarded the exception of `Self` and omitted cross-crate `Sized` bounds of *any* type parameter *including* `Self` when rendering.
From now on, we *do* render cross-crate `Self: Sized` bounds.

Most notably, in `std` we now finally properly render the `Sized` bound of the `Clone` trait as well as the `Self: Sized` bound on `Iterator::map`.

Fixes #24183.

``@rustbot`` label T-rustdoc A-cross-crate-reexports
r? rustdoc
2022-10-23 14:48:16 -07:00
Dylan DPC
e426874788
Rollup merge of #103192 - petrochenkov:noalltraits, r=jyn514
rustdoc: Eliminate uses of `EarlyDocLinkResolver::all_traits`

Another step to https://github.com/rust-lang/rust/pull/94857.
2022-10-23 15:20:17 +05:30
Matthias Krüger
0c146d71fb
Rollup merge of #103388 - notriddle:notriddle/result-description, r=GuillaumeGomez
rustdoc: remove unused CSS class `.result-description`

It was added to the CSS in d8de2b4c33, but was never actually used in that PR.
2022-10-23 08:14:32 +02:00
Michael Howell
7ff9bc18cd rustdoc: remove no-op CSS .code-header { border-bottom: none }
The code headers are always h3 or h4, which don't have border-bottom by
default anyway.
2022-10-22 21:28:53 -07:00
Michael Goulet
def755edab Clean middle RPITITs correctly in rustdoc 2022-10-22 17:49:00 +00:00
Dylan DPC
988153cc26
Rollup merge of #103190 - fmease:rustdoc-render-bounds-of-cross-crate-gat-params, r=GuillaumeGomez
rustdoc: render bounds of cross-crate GAT params

Follow-up to #102439.
Render the trait bounds of type parameters of cross-crate (generic) associated types.

`````@rustbot````` label T-rustdoc A-cross-crate-reexports
r? `````@GuillaumeGomez`````
2022-10-22 16:28:07 +05:30
Michael Howell
2ac29f6808 rustdoc: remove unused CSS class .result-description
It was added to the CSS in d8de2b4c33, but
was never actually used in that PR.
2022-10-21 22:14:21 -07:00
Matthias Krüger
1d3aa7bce7
Rollup merge of #103370 - notriddle:notriddle/out-of-band, r=GuillaumeGomez
rustdoc: remove unused CSS `.out-of-band { font-weight: normal }`

This CSS was added in 083c3952e0 to normalize the appearance of out-of-band elements that were nested directly below headers.

Now, the only use of `out-of-band` is in the main page header, and it is nested below a wrapper, not the `<h1>` itself.
2022-10-22 00:14:04 +02:00
Michael Howell
1adb4c338a rustdoc: remove unused CSS .out-of-band { font-weight: normal }
This CSS was added in 083c3952e0 to
normalize the appearance of out-of-band elements that were nested directly
below headers.

Now, the only use of `out-of-band` is in the main page header, and it is
nested below a wrapper, not the `<h1>` itself.
2022-10-21 14:13:18 -07:00
Michael Howell
526c1d32f6 rustdoc: prevent method summary margin from being applied to docblocks 2022-10-21 10:48:41 -07:00
Michael Howell
0dbf233fc9 rustdoc: merge identical CSS blocks 2022-10-21 10:31:33 -07:00
Dylan DPC
325e9203ba
Rollup merge of #103321 - notriddle:notriddle/source-page-top-bar-layout, r=GuillaumeGomez
rustdoc: improve appearance of source page navigation bar

This commit changes things so that the search bar is exactly centered between the top of the page and the top of the source code content area.

Preview: https://notriddle.com/notriddle-rustdoc-demos/source-page-header/src/std/lib.rs.html

## Before

![image](https://user-images.githubusercontent.com/1593513/197053420-02a64627-48ed-4bb6-9363-a1863d47b092.png)

## After

![image](https://user-images.githubusercontent.com/1593513/197053355-bd6149f9-0f5c-47da-aeb7-590b5eecb5da.png)
2022-10-21 17:30:00 +05:30
Matthias Krüger
5bf18adaa2
Rollup merge of #103296 - GuillaumeGomez:collapse-expand-shortcuts, r=notriddle
+/- shortcut now only expand/collapse, not both

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

r? ```@notriddle```
2022-10-20 22:42:40 +02:00
Michael Howell
f6dd4708cf rustdoc: improve appearance of source page navigation bar
This commit changes things so that the search bar is exactly centered between
the top of the page and the top of the source code content area.
2022-10-20 13:31:06 -07:00