-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 4 pull requests #118975
Rollup of 4 pull requests #118975
Commits on Oct 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 0983438 - Browse repository at this point
Copy the full SHA 0983438View commit details -
rustdoc: clean up main.js and src-script.js
* Run the querySelector for the toggleLabel only once, and store the result. * Use querySelector to find the resizer and sidebar. * Add comments to main.js sections.
Configuration menu - View commit details
-
Copy full SHA for 210c88f - Browse repository at this point
Copy the full SHA 210c88fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 273a302 - Browse repository at this point
Copy the full SHA 273a302View commit details -
rustdoc: bundle sidebar button icon into CSS
This removes an HTTP request from the loading pipeline, and allows it to be changed with a media query.
Configuration menu - View commit details
-
Copy full SHA for 9aabfd5 - Browse repository at this point
Copy the full SHA 9aabfd5View commit details -
rustdoc: avoid whole page layout on each frame
This makes two changes, based on experimenting with different browsers: - It debounces resizing the body text. This improves behavior on huge pages like struct.Vec.html, because it doesn't have to do layout. - It does the sidebar width updates directly on the sidebar instead of doing it on the `<HTML>` element. Doing it on `<HTML>` causes it to recalculate CSS for the entire document, also causing layout jank.
Configuration menu - View commit details
-
Copy full SHA for 77fa09d - Browse repository at this point
Copy the full SHA 77fa09dView commit details -
Configuration menu - View commit details
-
Copy full SHA for fd9f1a7 - Browse repository at this point
Copy the full SHA fd9f1a7View commit details
Commits on Nov 22, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 14ed92c - Browse repository at this point
Copy the full SHA 14ed92cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7953d5d - Browse repository at this point
Copy the full SHA 7953d5dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ccd5c4 - Browse repository at this point
Copy the full SHA 0ccd5c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 823148f - Browse repository at this point
Copy the full SHA 823148fView commit details
Commits on Dec 14, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 07e6224 - Browse repository at this point
Copy the full SHA 07e6224View commit details -
Configuration menu - View commit details
-
Copy full SHA for 97a2613 - Browse repository at this point
Copy the full SHA 97a2613View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4839cca - Browse repository at this point
Copy the full SHA 4839ccaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4287f5a - Browse repository at this point
Copy the full SHA 4287f5aView commit details -
rustc_mir_build: Enforce
rustc::potential_query_instability
lintStop allowing `rustc::potential_query_instability` on all of `rustc_mir_build` and instead allow it on a case-by-case basis if it is safe to do so. In this crate there was no instance of the lint remaining.
Configuration menu - View commit details
-
Copy full SHA for 5644a53 - Browse repository at this point
Copy the full SHA 5644a53View commit details
Commits on Dec 15, 2023
-
Rollup merge of rust-lang#113091 - GuillaumeGomez:prevent-cfg-merge-r…
…eexport, r=rustdoc Don't merge cfg and doc(cfg) attributes for re-exports Fixes rust-lang#112881. ## Explanations When re-exporting things with different `cfg`s there are two things that can happen: * The re-export uses a subset of `cfg`s, this subset is sufficient so that the item will appear exactly with the subset * The re-export uses a non-subset of `cfg`s (e.g. like the example I posted just above where the re-export is ungated), if the non-subset `cfg`s are active (e.g. compiling that example on windows) then this will be a compile error as the item doesn't exist to re-export, if the subset `cfg`s are active it behaves like 1. ### Glob re-exports? **This only applies to non-glob inlined re-exports.** For glob re-exports the item may or may not exist to be re-exported (potentially the `cfg`s on the path up until the glob can be removed, and only `cfg`s on the globbed item itself matter), for non-inlined re-exports see rust-lang#85043. cc `@Nemo157` r? `@notriddle`
Configuration menu - View commit details
-
Copy full SHA for ec0008a - Browse repository at this point
Copy the full SHA ec0008aView commit details -
Rollup merge of rust-lang#115660 - notriddle:notriddle/sidebar-resize…
…, r=GuillaumeGomez rustdoc: allow resizing the sidebar / hiding the top bar Fixes rust-lang#97306 Preview: http://notriddle.com/rustdoc-html-demo-4/sidebar-resize/std/index.html ![image](https://github.com/rust-lang/rust/assets/1593513/a2f40ea2-0436-4e44-99e8-d160dab2a680) ## Summary This feature adds: 1. A checkbox to the Settings popover to hide the persistent navigation bar (the sidebar on large viewports and the top bar on small ones). 2. On large viewports, it adds a resize handle to the persistent sidebar. Resizing it into nothing is equivalent to turning off the persistent navigation bar checkbox in Settings. 3. If the navigation bar is hidden, a toolbar button to the left of the search appears. Clicking it brings the navigation bar back. ## Motivation While "mobile mode" is definitely a good default, it's not the only reason people have wanted to hide the sidebar: * Some people use tiling window managers, and don't like rustdoc's current breakpoints. Changing the breakpoints might help with that, but there's no perfect solution, because there's a gap between "huge screen" and "smartphone" where reasonable people can disagree about whether it makes sense for the sidebar to be on-screen. rust-lang#97306 * Some people ask for ways to reduce on-screen clutter because it makes it easier to focus. There's not a media query for that (and if there was, privacy-conscious users would turn it off). rust-lang#59829 This feature is designed to avoid these problems. Resizing the sidebar especially helps, because it provides a way to hide the sidebar without adding a new top-level button (which would add clutter), and it provides a way to make rustdoc play nicer in complex, custom screen layouts. ## Guide and Reference-level explanation On a desktop or laptop with a mouse, resize the sidebar by dragging its right edge. On any browser, including mobile phones, the sticky top bar or side bar can be hidden from the Settings area (the button with the cog wheel, next to the search bar). When it's hidden, a convenient button will appear on the search bar's left. ## Drawbacks This adds more JavaScript code to the render blocking area. ## Rationale and alternatives The most obvious way to allow people to hide the sidebar would have been to let them "manually enter mobile mode." The upside is that it's a feature we already have. The downside is that it's actually really hard to come up with a terse description. Is it: * A Setting that forces desktop viewers to always have the mobile-style top bar? If so, how do we label it? Should it be visible on mobile, and, if so, does it just not do anything? * A persistent hide/show sidebar button, present on desktop, just like on mobile? That's clutter that I'd like to avoid. ## Prior art * The new file browser in GitHub uses a similar divider with a mouse-over indicator * mdBook and macOS Finder both allow you to resize the sidebar to nothing as a gesture to hide it * https://www.nngroup.com/articles/drag-drop/ ## Future possibilities https://rust-lang.zulipchat.com/#narrow/stream/266220-rustdoc/topic/Table.20of.20contents proposes a new, second sidebar (a table of contents). How should it fit in with this feature? Should it be resizeable? Hideable? Can it be accessed on mobile?
Configuration menu - View commit details
-
Copy full SHA for f8b9269 - Browse repository at this point
Copy the full SHA f8b9269View commit details -
Rollup merge of rust-lang#118863 - Enselic:rustc_mir-build-query-stab…
…ility, r=michaelwoerister rustc_mir_build: Enforce `rustc::potential_query_instability` lint Stop allowing `rustc::potential_query_instability` on all of `rustc_mir_build` and instead allow it on a case-by-case basis if it is safe to do so. In this crate there was only one instance of the lint, and it was safe to allow. Part of rust-lang#84447 which is E-help-wanted.
Configuration menu - View commit details
-
Copy full SHA for d3d0287 - Browse repository at this point
Copy the full SHA d3d0287View commit details -
Rollup merge of rust-lang#118909 - Urgau:cleanup-improvement-invalid_…
…ref_casting, r=est31 Some cleanup and improvement for invalid ref casting impl This PR makes some cleanups and improvements to the `invalid_reference_casting` implementation in preparation for linting on new patterns, while reusing most of the logic. r? `@est31` (feel free to re-assign)
Configuration menu - View commit details
-
Copy full SHA for 25216b6 - Browse repository at this point
Copy the full SHA 25216b6View commit details