Michael Goulet
7d8ca6d4fc
Clean middle generics using paren sugar if trait has rustc_paren_sugar
2024-11-06 15:50:50 +00:00
Michael Goulet
0b5ddf30eb
Yeet effects feature
2024-11-03 18:59:31 +00:00
Michael Goulet
0a0ea28f26
Rollup merge of #129545 - notriddle:notriddle/toolbar-v2, r=GuillaumeGomez
...
rustdoc: redesign toolbar and disclosure widgets
Fixes #77899
Fixes #90310
## Preview
| before | after
| ------ | -----
| ![image](https://github.com/user-attachments/assets/ebeec185-3a72-481d-921e-a9a885f348d9 ) | ![image](https://github.com/user-attachments/assets/08735a65-99d1-4523-ab77-ddb164c0a5db )
| ![image](https://github.com/user-attachments/assets/ae8e0f24-49cb-445d-b9bd-cec9c57b94e7 ) | ![image](https://github.com/user-attachments/assets/ba484f94-b031-41fc-b8a8-6cd81be8fb6b )
| ![image](https://github.com/user-attachments/assets/8c2cc041-a138-4950-a12e-3d529c8a5339 ) | ![image](https://github.com/user-attachments/assets/e7f010bd-19e2-4711-85bf-3fd00c3e5647 )
| ![image](https://github.com/user-attachments/assets/e2b63785-971c-489e-b069-eb85f6a30620 ) | ![image](https://github.com/user-attachments/assets/b65eea16-d6a3-4aa3-8a27-6ded74009010 )
| ![image](https://github.com/user-attachments/assets/1c7b0901-a61a-4325-9d01-9d8b14b476aa ) | ![image](https://github.com/user-attachments/assets/d4a485db-d9f1-4a62-94bc-a3d125ea6dc1 )
| N/A | ![image](https://github.com/user-attachments/assets/7add0a2a-7fd7-483d-87ee-51ee45a2fe5d )
| ![image](https://github.com/user-attachments/assets/334f50bc-9f8d-42d9-a7df-95058f7cdfd5 ) | ![image](https://github.com/user-attachments/assets/451fcc22-b034-453c-ae4b-b948fd6bd779 )
| ![image](https://github.com/user-attachments/assets/132f720c-802a-466d-bd55-c7a4750acdc3 ) | ![image](https://github.com/user-attachments/assets/177b7921-06c5-467d-87d3-9cdf88c4e50b )
https://notriddle.com/rustdoc-html-demo-12/toolbar-v2/std/index.html
## Description
This adds labels to the icons and moves them away from the search box.
These changes are made together, because they work together, but are based on several complaints:
* The [+/-] thing are a Reddit-ism. They don't look like buttons, but look like syntax <https://rust-lang.zulipchat.com/#narrow/stream/266220-t-rustdoc/topic/More.20visual.20difference.20for.20the.20.2B.2F-.20.20Icons >, <https://github.com/rust-lang/rust/issues/59851 > (some of these are laundry lists with more suggestions, but they all mention [+/-] looking wrong)
* The settings, help, and summary buttons are also too hard to recognize <https://lwn.net/Articles/987070/ >, <https://github.com/rust-lang/rust/issues/90310 >, <https://github.com/rust-lang/rust/issues/14475#issuecomment-274241997 >, <https://internals.rust-lang.org/t/improve-rustdoc-design/12758 > ("Not all functionality is self-explanatory, for example the [+] button in the top right corner, the theme picker or the settings button.")
The toggle-all and toggle-individual buttons both need done at once, since we want them to look like they go together. This changes them from both being [+/-] to both being arrows.
CC <https://github.com/rust-lang/rust/pull/113074#issuecomment-1677469680 > and ``@jsha`` regarding the use of triangles for disclosure, which is what everyone wanted, but was pending a good toggle-all button. This PR adds a toggle-all button that should work.
Settings and Help are also migrated, so that the whole group can benefit from being described using actual words.
The breadcrumbs also get redesigned, so that they use less space, by shrinking the parent module path parts. This is done at the same time as the toolbar redesign because it's, effectively, moving space from the toolbar to the breadcrumbs.
This is aimed at avoiding any line wrapping at desktop sizes.
## Prior art
This style of toolbar, with explicit labels on the buttons, used to be more popular. It's not very common in web browsers nowadays, and for truly universal icons like ⬅️ I can understand why, but words are great when icons fail.
![image](https://github.com/user-attachments/assets/9a4a0498-232d-4d60-87b9-f601f4515254 )
2024-09-23 23:49:11 -04:00
Michael Howell
cc3ffe4c91
Tweak breadcrumbs list
2024-09-23 09:21:39 -07:00
Michael Howell
5b1b2e97e3
rustdoc: make the header show all three buttons
...
This tweaks it to use less space for the breadcrumbs.
2024-09-10 17:56:06 -07:00
Scott McMurray
d2309c2a9d
Ban non-array SIMD
2024-09-09 19:39:43 -07:00
Deadbeef
daff015314
Migrate tests to use -Znext-solver
2024-06-30 17:08:45 +00:00
Guillaume Gomez
1b67035579
Update tests/rustdoc
to new test syntax
2024-06-24 11:08:41 +02:00
Sergi-Ferrez
617e64c9e7
Update code format and tests
2024-06-04 13:49:39 +02:00
Michael Howell
b5923a95a8
Move tests into appropriate subdirectories
2024-05-21 21:21:26 -07:00
Michael Goulet
fa84018c2e
Apply nits
2024-05-13 16:55:58 -04:00
Michael Howell
6d6f67a98c
rustdoc: use stability, instead of features, to decide what to show
...
To decide if internal items should be inlined in a doc page,
check if the crate is itself internal, rather than if it has
the rustc_private feature flag. The standard library uses
internal items, but is not itself internal and should not show
internal items on its docs pages.
2024-05-07 20:47:19 -07:00
Guillaume Gomez
e7c13c3357
Rollup merge of #123574 - notriddle:notriddle/issue-d, r=fmease
...
rustdoc: rename `issue-\d+.rs` tests to have meaningful names (part 6)
Follow up
* https://github.com/rust-lang/rust/pull/116214
* https://github.com/rust-lang/rust/pull/116432
* https://github.com/rust-lang/rust/pull/116824
* https://github.com/rust-lang/rust/pull/118105
* https://github.com/rust-lang/rust/pull/119561
2024-04-16 15:19:12 +02:00
Michael Howell
ecbe327e71
rustdoc: move tests into applicable subdirectories
2024-04-15 15:22:04 -07:00
Guillaume Gomez
5a0be6ff3d
Add regression test for #123435
2024-04-04 18:10:52 +02:00
许杰友 Jieyou Xu (Joe)
6e48b96692
[AUTO_GENERATED] Migrate compiletest to use ui_test
-style //@
directives
2024-02-22 16:04:04 +00:00
Shoyu Vanilla
f5d43a052b
Fix missing trait impls for type in rustc docs
2024-02-17 14:27:05 +09:00
León Orell Valerian Liehr
a8d869e1d1
rustdoc: cross-crate re-exports: correctly render late-bound params in source order even if early-bound params are present
2024-02-15 01:40:38 +01:00
Guillaume Gomez
8914ca722c
Rollup merge of #119561 - notriddle:master, r=fmease
...
rustdoc: rename `issue-\d+.rs` tests to have meaningful names (part 5)
Follow up
* https://github.com/rust-lang/rust/pull/116214
* https://github.com/rust-lang/rust/pull/116432
* https://github.com/rust-lang/rust/pull/116824
* https://github.com/rust-lang/rust/pull/118105
2024-01-14 20:17:23 +01:00
León Orell Valerian Liehr
17ec134fa4
Update tests
2024-01-09 17:07:38 +01:00
Michael Howell
35830fe218
rustdoc: rename issue-\d+.rs
tests to have meaningful names (part 5)
2024-01-03 15:33:12 -07:00
León Orell Valerian Liehr
1dcdf83927
rustdoc: properly elide cross-crate host effect args
2023-11-05 00:56:54 +01:00
León Orell Valerian Liehr
58a80c85b9
rustdoc: elide cross-crate default generic arguments
2023-10-30 16:44:52 +01:00
Michael Howell
ade7ecf909
rustdoc: rename /implementors
to /impl.trait
...
This is shorter, avoids potential conflicts with a crate
named `implementors`[^1], and will be less confusing when JS
include files are added for type aliases.
[^1]: AFAIK, this couldn't actually cause any problems right now,
but it's simpler just to make it impossible than relying on never
having a file named `trait.Foo.js` in the crate data area.
2023-10-22 15:47:34 -07:00
Michael Howell
43b493ebc0
Add URL to test cases
2023-10-16 18:01:02 -07:00
Michael Howell
69dc19043b
Rename issue-\d+.rs
tests to have meaningful names
2023-10-16 18:01:02 -07:00
Matthias Krüger
4dd4d9b489
Rollup merge of #115439 - fmease:rustdoc-priv-repr-transparent-heuristic, r=GuillaumeGomez
...
rustdoc: hide `#[repr(transparent)]` if it isn't part of the public ABI
Fixes #90435 .
This hides `#[repr(transparent)]` when the non-1-ZST field the struct is "transparent" over is private.
CC `@RalfJung`
Tentatively nominating it for the release notes, feel free to remove the nomination.
`@rustbot` label needs-fcp relnotes A-rustdoc-ui
2023-10-14 19:22:16 +02:00
Michael Goulet
59315b8a63
Stabilize AFIT and RPITIT
2023-10-13 21:01:36 +00:00
Oli Scherer
8f2af7e010
Test cross crate
2023-10-12 16:44:37 +00:00
Michael Howell
a46ccd8d3f
Add URL to test case issues
2023-10-04 13:04:45 -07:00
Michael Howell
9266270ef5
Rename issue-\d+.rs tests to have meaningful names
2023-10-04 12:58:06 -07:00
León Orell Valerian Liehr
ace85f0ae3
rustdoc: add support for cross-crate higher-ranked types
2023-10-03 17:41:25 +02:00
León Orell Valerian Liehr
67de1509f3
rustdoc: fix & clean up handling of cross-crate higher-ranked lifetimes
2023-10-03 17:16:51 +02:00
León Orell Valerian Liehr
025a2cda0e
rustdoc: correctly render ret ty of cross-crate async fns
2023-09-25 15:57:04 +02:00
León Orell Valerian Liehr
64fa12a4fb
rustdoc: hide repr(transparent) if it isn't part of the public ABI
2023-09-18 19:30:10 +02:00
León Orell Valerian Liehr
f5a68f63aa
rustdoc: correctly deal with self ty params when eliding default object lifetimes
2023-09-01 16:17:53 +02:00
León Orell Valerian Liehr
203d400668
Add rustdoc tests for generic const items
2023-07-28 22:23:21 +02:00
Guillaume Gomez
1fa0c4db4f
Rollup merge of #114059 - fmease:rustdoc-fix-x-crate-impl-sized, r=GuillaumeGomez
...
rustdoc: fix cross-crate `impl Sized` & `impl ?Sized`
Previously, cross-crate impl-Trait (APIT, RPIT, etc.) that only consists of a single `Sized` bound (modulo outlives-bounds) and ones that are `?Sized` were incorrectly rendered. To give you a taste (before vs. after):
```diff
- fn sized(x: impl ) -> impl
+ fn sized(x: impl Sized) -> impl Sized
- fn sized_outlives<'a>(x: impl 'a) -> impl 'a
+ fn sized_outlives<'a>(x: impl Sized + 'a) -> impl Sized + 'a
- fn maybe_sized(x: &impl ) -> &impl
+ fn maybe_sized(x: &impl ?Sized) -> &impl ?Sized
- fn debug_maybe_sized(x: &impl Debug) -> &impl ?Sized + Debug
+ fn debug_maybe_sized(x: &(impl Debug + ?Sized)) -> &(impl Debug + ?Sized)
```
Moreover, we now surround impl-Trait that has multiple bounds with parentheses if they're the pointee of a reference or raw pointer type. This affects both local and cross-crate docs. The current output isn't correct (rustc would emit the error *ambiguous `+` in a type* if we fed the rendered code back to it).
---
Best reviewed commit by commit :)
`@rustbot` label A-cross-crate-reexports
2023-07-27 16:05:13 +02:00
León Orell Valerian Liehr
28d40f1959
rustdoc: fix cross-crate impl-Sized
2023-07-26 02:11:35 +02:00
León Orell Valerian Liehr
5924043b86
rustdoc: handle cross-crate RPITITs correctly
2023-07-22 12:20:17 +02:00
Takayuki Maeda
40e3fcfd59
Rollup merge of #112920 - fmease:rustdoc-fix-112904, r=GuillaumeGomez
...
rustdoc: render generic params & where-clauses of cross-crate assoc tys in impls
We used to only ever render generic parameters & where-clauses of cross-crate associated types when the item was located inside of a trait and we used to just drop them when it was inside of an impl block (trait or inherent).
Fixes #112904 .
`@rustbot` label A-cross-crate-reexports
2023-06-26 23:16:16 +09:00
León Orell Valerian Liehr
247aa06f10
rustdoc: handle assoc const equalities in cross-crate impl-Trait-in-arg-pos
2023-06-25 15:42:32 +02:00
León Orell Valerian Liehr
c643bedf7c
rustdoc: render gen params & where-clauses of cross-crate assoc tys in impl blocks
2023-06-24 12:20:26 +02:00
León Orell Valerian Liehr
3490a510d5
rustdoc: re-elide cross-crate default trait object lifetime bounds
2023-06-07 13:29:36 +02:00
Guillaume Gomez
2693e20aa3
Extend foreign inlined item with #[repr()]
test
2023-04-29 22:53:10 +02:00
Guillaume Gomez
3f082843aa
Add regression test for #110698
2023-04-27 16:41:22 +02:00
Dylan DPC
4165de40f8
Rollup merge of #107783 - notriddle:notriddle/item-table-ul, r=GuillaumeGomez
...
rustdoc: simplify DOM for `.item-table`
This switches from using `<div>` to the more semantic `<ul>`, and using class names that rhyme with the classes the search results table uses.
2023-02-19 13:03:41 +05:30
Michael Howell
894c98652c
rustdoc: simplify DOM for .item-table
...
This switches from using `<div>` to the more semantic `<ul>`, and
using class names that rhyme with the classes the search results
table uses.
2023-02-07 19:00:42 -07:00
Michael Howell
8307fd7901
rustdoc: use a newline instead of <br>
to format code headers
...
Since these elements now use `white-space: pre-wrap` since
784665d4ce59c5239791f1f96fa2137e47ca1817, it's fine to use newlines
for formatting, which is smaller and a bit less complicated.
2023-02-07 11:23:25 -07:00
Michael Howell
f75b350467
rustdoc: stop making unstable items transparent
...
Fixes #93393
2023-01-31 11:27:09 -07:00