| Age | Commit message (Collapse) | Author | Lines |
|
The previous commit updated `rustfmt.toml` appropriately. This commit is
the outcome of running `x fmt --all` with the new formatting options.
|
|
[rustdoc] Add copy code feature
This PR adds a "copy code" to code blocks. Since this is a JS only feature, the HTML is generated with JS when the user hovers the code block to prevent generating DOM unless needed.
Two things to note:
1. I voluntarily kept the current behaviour of the run button (only when hovering a code block with a mouse) so it doesn't do anything on mobile. I plan to send a follow-up where the buttons would "expandable" or something. Still need to think which approach would be the best.
2. I used a picture and not text like the run button to remain consistent with the "copy path" button. I'd also prefer for the run button to use a picture (like what is used in mdbook) but again, that's something to be discussed later on.
The rendering looks like this:


It can be tested [here](https://guillaume-gomez.fr/rustdoc/bar/struct.Bar.html) (without the run button) and [here](https://guillaume-gomez.fr/rustdoc/foo/struct.Bar.html) (with the run button).
Fixes #86851.
r? ``@notriddle``
|
|
|
|
|
|
the current title is too similar to that of the page for
std::result::Result, which is a problem both for
navigating to the Result docs via browser autocomplete, and for
being able to tell which tab is which when the width of tabs is
small.
|
|
Based on e3fdafc263a4a705a3bec1a6865a4d011b2ec7c5 with a few
minor changes:
- The name sorting function is changed to follow the [version sort]
from the style guide
- the `cmp` function is redesigned to more obviously make a
partial order, by always return `cmp()` of the same variable as
the `!=` above
[version sort]: https://doc.rust-lang.org/nightly/style-guide/index.html#sorting
Co-authored-by: Guillaume Gomez <guillaume1.gomez@gmail.com>
|
|
|
|
It really wasn't necessary for the bug fix,
and could reasonably be considered a functional regression.
|
|
rustdoc: short descriptions cause word-breaks in tables
The `.item-table` class is used to display name+description lists, e.g. the exported functions, as a table. If the names are long and the descriptions are short, then the width of the table does not expand to the whole size, but only uses a fraction. This causes a some names to break inside a word.
This change makes the table always use 100% of its parent width. The `.width-limiter` wrapper already ensures that the used width still does not become excessive.
See e.g. <https://docs.rs/mathlab/0.3.0/mathlab/fun/vec_num/index.html> or <https://docs.rs/cw-events/0.0.9/cw_events/> (random choices out of the list of the recent releases).
[](https://imgur.com/XnH4eeT) [](https://imgur.com/7iQ9xE2)
The problem occurs (at least) in Firefox 130, Falkon 24, and Konqueror 22. It does not occur in Chrome 126.
|
|
Fix stab display in doc blocks
Went across this bug randomly:

With the fixed CSS:

r? ```@notriddle```
|
|
The `.item-table` class is used to display name+description lists, e.g.
the exported functions, as a table. If the names are long and the
descriptions are short, then the width of the table does not expand to
the whole size, but only uses a fraction. This causes a some names to
break inside a word.
This change makes the table always use 100% of its parent width. The
`.width-limiter` wrapper already ensures that the used width still does
not become excessive.
Signed-off-by: René Kijewski <rene.kijewski@fu-berlin.de>
|
|
|
|
Fix trait bounds display
Fixes https://github.com/rust-lang/rust/issues/127398.
I took a simple rule: if there are more than two bounds, we display them like rustfmt.
Before this PR:

After this PR:

r? `@notriddle`
|
|
Clean up a few minor refs in `format!` macro, as it has a performance cost. Apparently the compiler is unable to inline `format!("{}", &variable)`, and does a run-time double-reference instead (format macro already does one level referencing). Inlining format args prevents accidental `&` misuse.
|
|
|
|
Rollup of 7 pull requests
Successful merges:
- #112328 (Feat. adding ext that returns change_time)
- #126199 (Add `isqrt` to `NonZero<uN>`)
- #127856 (interpret: add sanity check in dyn upcast to double-check what codegen does)
- #127934 (Improve error when a compiler/library build fails in `checktools.sh`)
- #127960 (Cleanup dll/exe filename calculations in `run_make_support`)
- #127963 (Fix display of logo "border")
- #127967 (Disable run-make/split-debuginfo test for RISC-V 64)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Fix display of logo "border"
Before:

After:

r? `@notriddle`
|
|
|
|
rustdoc: fix `current` class on sidebar modnav
| Before | After |
| -- | -- |
|  | 
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rustdoc: click target for sidebar items flush left
This change adjusts the clickable area of sidebar links to touch the leftmost edge of the canvas, making them [much easier](https://www.nngroup.com/articles/fitts-law/) to click (when the browser window is maximized or tiled left, but those cases are common enough to matter).
[Screencast from 2024-07-15 15-31-07.webm](https://github.com/user-attachments/assets/1e952d3a-e9e7-476b-b211-44a17c190b38)
<details><summary>old screencast</summary>
[Screencast from 2024-07-01 17-23-34.webm](https://github.com/rust-lang/rust/assets/1593513/dc6f9c2e-5904-403d-b353-d233e6e1afbc)
</details>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I'm not sure why I ever thought that would be okay. This is
clearly hot code, and should avoid Array.prototype.map when
it's not needed. In any case, it shows up in the profiler.
rustdoc-js-profiler:
https://notriddle.com/rustdoc-html-demo-11/decode-opt-1/index.html
Firefox profiler:
[Before](https://share.firefox.dev/3RRH2fR)
[After](https://share.firefox.dev/3Wblcq8)
|
|
r=GuillaumeGomez
rustdoc: update to pulldown-cmark 0.11
r? rustdoc
This pull request updates rustdoc to the latest version of pulldown-cmark. Along with adding new markdown extensions (which this PR doesn't enable), the new pulldown-cmark version also fixes a large number of bugs. Because all text files successfully parse as markdown, these bugfixes change the output, which can break people's existing docs.
A crater run, https://github.com/rust-lang/rust/pull/121659, has already been run for this change.
The first commit upgrades and fixes rustdoc. The second commit adds a lint for the footnote and block quote parser changes, which break the largest numbers of docs in the Crater run. The strikethrough change was mitigated in pulldown-cmark itself.
Unblocks https://github.com/rust-lang/rust-clippy/pull/12876
|
|
|
|
|
|
|
|
|
|
The type name ID map has underscores in its names, so the query
element should have them, too.
|
|
Make html rendered by rustdoc allow searching non-English identifier / alias
Fix alias search result showing `undefined` description.
Inspired by https://github.com/rust-lang/mdBook/issues/2393 .
Not sure if it's worth it adding full-text search functionality to rustdoc rendered html.
|
|
I moved some local arguments and options to either the local options
struct or, if it made sense, the global options struct.
|
|
This was used to get the line number of the first line from the current
docstring, which was then used together with an offset within the
docstring. It's simpler to just pass the offset to the visitor and have
it do the math because it's clearer and this calculation only needs to
be done in one place (the Rust doctest visitor).
|
|
The new name more accurately captures what it is.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
alias. Fix alias search result showing `undefined` description.
|