Auto merge of #93260 - matthiaskrgr:rollup-c5b9c76, r=matthiaskrgr
Rollup of 8 pull requests Successful merges: - #92513 (std: Implement try_reserve and try_reserve_exact on PathBuf) - #93152 (Fix STD compilation for the ESP-IDF target (regression from CVE-2022-21658)) - #93186 (Fix link to CVE-2022-21658) - #93188 (rustdoc: fix bump down typing search on Safari) - #93212 (Remove unneeded cursor pointer rule on mobile sidebar) - #93231 (adjust sidebar link brightness) - #93241 (Fix brief appearance of rust logo in the sidebar) - #93253 (Update theme on pageshow event) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
51126be1b2
@ -7,7 +7,7 @@ Version 1.58.1 (2022-01-19)
|
|||||||
* [Fix wrong error message displayed when some imports are missing][91254]
|
* [Fix wrong error message displayed when some imports are missing][91254]
|
||||||
* [Fix rustfmt not formatting generated files from stdin][92912]
|
* [Fix rustfmt not formatting generated files from stdin][92912]
|
||||||
|
|
||||||
[CVE-2022-21658]: https://www.cve.org/CVERecord?id=CVE-2022-21658]
|
[CVE-2022-21658]: https://www.cve.org/CVERecord?id=CVE-2022-21658
|
||||||
[91254]: https://github.com/rust-lang/rust/pull/91254
|
[91254]: https://github.com/rust-lang/rust/pull/91254
|
||||||
[92912]: https://github.com/rust-lang/rust/pull/92912
|
[92912]: https://github.com/rust-lang/rust/pull/92912
|
||||||
[clippy/8075]: https://github.com/rust-lang/rust-clippy/pull/8075
|
[clippy/8075]: https://github.com/rust-lang/rust-clippy/pull/8075
|
||||||
|
@ -72,6 +72,7 @@ mod tests;
|
|||||||
|
|
||||||
use crate::borrow::{Borrow, Cow};
|
use crate::borrow::{Borrow, Cow};
|
||||||
use crate::cmp;
|
use crate::cmp;
|
||||||
|
use crate::collections::TryReserveError;
|
||||||
use crate::error::Error;
|
use crate::error::Error;
|
||||||
use crate::fmt;
|
use crate::fmt;
|
||||||
use crate::fs;
|
use crate::fs;
|
||||||
@ -1512,6 +1513,15 @@ impl PathBuf {
|
|||||||
self.inner.reserve(additional)
|
self.inner.reserve(additional)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Invokes [`try_reserve`] on the underlying instance of [`OsString`].
|
||||||
|
///
|
||||||
|
/// [`try_reserve`]: OsString::try_reserve
|
||||||
|
#[unstable(feature = "try_reserve_2", issue = "91789")]
|
||||||
|
#[inline]
|
||||||
|
pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError> {
|
||||||
|
self.inner.try_reserve(additional)
|
||||||
|
}
|
||||||
|
|
||||||
/// Invokes [`reserve_exact`] on the underlying instance of [`OsString`].
|
/// Invokes [`reserve_exact`] on the underlying instance of [`OsString`].
|
||||||
///
|
///
|
||||||
/// [`reserve_exact`]: OsString::reserve_exact
|
/// [`reserve_exact`]: OsString::reserve_exact
|
||||||
@ -1521,6 +1531,15 @@ impl PathBuf {
|
|||||||
self.inner.reserve_exact(additional)
|
self.inner.reserve_exact(additional)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Invokes [`try_reserve_exact`] on the underlying instance of [`OsString`].
|
||||||
|
///
|
||||||
|
/// [`try_reserve_exact`]: OsString::try_reserve_exact
|
||||||
|
#[unstable(feature = "try_reserve_2", issue = "91789")]
|
||||||
|
#[inline]
|
||||||
|
pub fn try_reserve_exact(&mut self, additional: usize) -> Result<(), TryReserveError> {
|
||||||
|
self.inner.try_reserve_exact(additional)
|
||||||
|
}
|
||||||
|
|
||||||
/// Invokes [`shrink_to_fit`] on the underlying instance of [`OsString`].
|
/// Invokes [`shrink_to_fit`] on the underlying instance of [`OsString`].
|
||||||
///
|
///
|
||||||
/// [`shrink_to_fit`]: OsString::shrink_to_fit
|
/// [`shrink_to_fit`]: OsString::shrink_to_fit
|
||||||
|
@ -1448,8 +1448,8 @@ pub fn chroot(dir: &Path) -> io::Result<()> {
|
|||||||
|
|
||||||
pub use remove_dir_impl::remove_dir_all;
|
pub use remove_dir_impl::remove_dir_all;
|
||||||
|
|
||||||
// Fallback for REDOX
|
// Fallback for REDOX and ESP-IDF
|
||||||
#[cfg(target_os = "redox")]
|
#[cfg(any(target_os = "redox", target_os = "espidf"))]
|
||||||
mod remove_dir_impl {
|
mod remove_dir_impl {
|
||||||
pub use crate::sys_common::fs::remove_dir_all;
|
pub use crate::sys_common::fs::remove_dir_all;
|
||||||
}
|
}
|
||||||
@ -1573,7 +1573,11 @@ mod remove_dir_impl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Modern implementation using openat(), unlinkat() and fdopendir()
|
// Modern implementation using openat(), unlinkat() and fdopendir()
|
||||||
#[cfg(not(any(all(target_os = "macos", target_arch = "x86_64"), target_os = "redox")))]
|
#[cfg(not(any(
|
||||||
|
all(target_os = "macos", target_arch = "x86_64"),
|
||||||
|
target_os = "redox",
|
||||||
|
target_os = "espidf"
|
||||||
|
)))]
|
||||||
mod remove_dir_impl {
|
mod remove_dir_impl {
|
||||||
use super::{cstr, lstat, Dir, DirEntry, InnerReadDir, ReadDir};
|
use super::{cstr, lstat, Dir, DirEntry, InnerReadDir, ReadDir};
|
||||||
use crate::ffi::CStr;
|
use crate::ffi::CStr;
|
||||||
|
@ -397,7 +397,7 @@ nav.sub {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.source .sidebar > *:not(:first-child) {
|
.source .sidebar > *:not(:first-child) {
|
||||||
transition: opacity 0.5s, visibility 0.2s;
|
transition: opacity 0.5s;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
@ -1848,7 +1848,6 @@ details.rustdoc-toggle[open] > summary.hideme::after {
|
|||||||
position: sticky;
|
position: sticky;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
font-size: 2rem;
|
font-size: 2rem;
|
||||||
cursor: pointer;
|
|
||||||
height: 45px;
|
height: 45px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
@ -191,6 +191,10 @@ pre, .rustdoc.source .example-wrap {
|
|||||||
color: #a37acc;
|
color: #a37acc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sidebar a { color: #53b1db; }
|
||||||
|
.sidebar a.current.type { color: #53b1db; }
|
||||||
|
.sidebar a.current.associatedtype { color: #53b1db; }
|
||||||
|
|
||||||
pre.rust .comment { color: #788797; }
|
pre.rust .comment { color: #788797; }
|
||||||
pre.rust .doccomment { color: #a1ac88; }
|
pre.rust .doccomment { color: #a1ac88; }
|
||||||
|
|
||||||
@ -485,6 +489,25 @@ a.result-static:focus {}
|
|||||||
a.result-primitive:focus {}
|
a.result-primitive:focus {}
|
||||||
a.result-keyword:focus {}
|
a.result-keyword:focus {}
|
||||||
|
|
||||||
|
.sidebar a.current.enum {}
|
||||||
|
.sidebar a.current.struct {}
|
||||||
|
.sidebar a.current.foreigntype {}
|
||||||
|
.sidebar a.current.attr,
|
||||||
|
.sidebar a.current.derive,
|
||||||
|
.sidebar a.current.macro {}
|
||||||
|
.sidebar a.current.union {}
|
||||||
|
.sidebar a.current.constant
|
||||||
|
.sidebar a.current.static {}
|
||||||
|
.sidebar a.current.primitive {}
|
||||||
|
.sidebar a.current.externcrate
|
||||||
|
.sidebar a.current.mod {}
|
||||||
|
.sidebar a.current.trait {}
|
||||||
|
.sidebar a.current.traitalias {}
|
||||||
|
.sidebar a.current.fn,
|
||||||
|
.sidebar a.current.method,
|
||||||
|
.sidebar a.current.tymethod {}
|
||||||
|
.sidebar a.current.keyword {}
|
||||||
|
|
||||||
@media (max-width: 700px) {
|
@media (max-width: 700px) {
|
||||||
.sidebar-menu {
|
.sidebar-menu {
|
||||||
background-color: #14191f;
|
background-color: #14191f;
|
||||||
|
@ -148,6 +148,28 @@ a.result-keyword:focus { background-color: #884719; }
|
|||||||
.content .fnname{ color: #2BAB63; }
|
.content .fnname{ color: #2BAB63; }
|
||||||
.content span.keyword, .content a.keyword, .block a.current.keyword { color: #D2991D; }
|
.content span.keyword, .content a.keyword, .block a.current.keyword { color: #D2991D; }
|
||||||
|
|
||||||
|
.sidebar a { color: #fdbf35; }
|
||||||
|
.sidebar a.current.enum { color: #12ece2; }
|
||||||
|
.sidebar a.current.struct { color: #12ece2; }
|
||||||
|
.sidebar a.current.type { color: #12ece2; }
|
||||||
|
.sidebar a.current.associatedtype { color: #fdbf35; }
|
||||||
|
.sidebar a.current.foreigntype { color: #12ece2; }
|
||||||
|
.sidebar a.current.attr,
|
||||||
|
.sidebar a.current.derive,
|
||||||
|
.sidebar a.current.macro { color: #0be900; }
|
||||||
|
.sidebar a.current.union { color: #12ece2; }
|
||||||
|
.sidebar a.current.constant
|
||||||
|
.sidebar a.current.static { color: #fdbf35; }
|
||||||
|
.sidebar a.current.primitive { color: #12ece2; }
|
||||||
|
.sidebar a.current.externcrate
|
||||||
|
.sidebar a.current.mod { color: #fdbf35; }
|
||||||
|
.sidebar a.current.trait { color: #cca7ff; }
|
||||||
|
.sidebar a.current.traitalias { color: #cca7ff; }
|
||||||
|
.sidebar a.current.fn,
|
||||||
|
.sidebar a.current.method,
|
||||||
|
.sidebar a.current.tymethod { color: #32d479; }
|
||||||
|
.sidebar a.current.keyword { color: #fdbf35; }
|
||||||
|
|
||||||
pre.rust .comment { color: #8d8d8b; }
|
pre.rust .comment { color: #8d8d8b; }
|
||||||
pre.rust .doccomment { color: #8ca375; }
|
pre.rust .doccomment { color: #8ca375; }
|
||||||
|
|
||||||
|
@ -148,6 +148,28 @@ a.result-keyword:focus { background-color: #afc6e4; }
|
|||||||
.content .fnname { color: #AD7C37; }
|
.content .fnname { color: #AD7C37; }
|
||||||
.content span.keyword, .content a.keyword, .block a.current.keyword { color: #3873AD; }
|
.content span.keyword, .content a.keyword, .block a.current.keyword { color: #3873AD; }
|
||||||
|
|
||||||
|
.sidebar a { color: #356da4; }
|
||||||
|
.sidebar a.current.enum { color: #a63283; }
|
||||||
|
.sidebar a.current.struct { color: #a63283; }
|
||||||
|
.sidebar a.current.type { color: #a63283; }
|
||||||
|
.sidebar a.current.associatedtype { color: #356da4; }
|
||||||
|
.sidebar a.current.foreigntype { color: #356da4; }
|
||||||
|
.sidebar a.current.attr,
|
||||||
|
.sidebar a.current.derive,
|
||||||
|
.sidebar a.current.macro { color: #067901; }
|
||||||
|
.sidebar a.current.union { color: #a63283; }
|
||||||
|
.sidebar a.current.constant
|
||||||
|
.sidebar a.current.static { color: #356da4; }
|
||||||
|
.sidebar a.current.primitive { color: #a63283; }
|
||||||
|
.sidebar a.current.externcrate
|
||||||
|
.sidebar a.current.mod { color: #356da4; }
|
||||||
|
.sidebar a.current.trait { color: #6849c3; }
|
||||||
|
.sidebar a.current.traitalias { color: #4b349e; }
|
||||||
|
.sidebar a.current.fn,
|
||||||
|
.sidebar a.current.method,
|
||||||
|
.sidebar a.current.tymethod { color: #32d479; }
|
||||||
|
.sidebar a.current.keyword { color: #356da4; }
|
||||||
|
|
||||||
nav.main .current {
|
nav.main .current {
|
||||||
border-top-color: #000;
|
border-top-color: #000;
|
||||||
border-bottom-color: #000;
|
border-bottom-color: #000;
|
||||||
|
@ -216,6 +216,15 @@ var updateSystemTheme = (function() {
|
|||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
function switchToSavedTheme() {
|
||||||
|
switchTheme(
|
||||||
|
window.currentTheme,
|
||||||
|
window.mainTheme,
|
||||||
|
getSettingValue("theme") || "light",
|
||||||
|
false
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (getSettingValue("use-system-theme") !== "false" && window.matchMedia) {
|
if (getSettingValue("use-system-theme") !== "false" && window.matchMedia) {
|
||||||
// update the preferred dark theme if the user is already using a dark theme
|
// update the preferred dark theme if the user is already using a dark theme
|
||||||
// See https://github.com/rust-lang/rust/pull/77809#issuecomment-707875732
|
// See https://github.com/rust-lang/rust/pull/77809#issuecomment-707875732
|
||||||
@ -228,10 +237,20 @@ if (getSettingValue("use-system-theme") !== "false" && window.matchMedia) {
|
|||||||
// call the function to initialize the theme at least once!
|
// call the function to initialize the theme at least once!
|
||||||
updateSystemTheme();
|
updateSystemTheme();
|
||||||
} else {
|
} else {
|
||||||
switchTheme(
|
switchToSavedTheme();
|
||||||
window.currentTheme,
|
|
||||||
window.mainTheme,
|
|
||||||
getSettingValue("theme") || "light",
|
|
||||||
false
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If we navigate away (for example to a settings page), and then use the back or
|
||||||
|
// forward button to get back to a page, the theme may have changed in the meantime.
|
||||||
|
// But scripts may not be re-loaded in such a case due to the bfcache
|
||||||
|
// (https://web.dev/bfcache/). The "pageshow" event triggers on such navigations.
|
||||||
|
// Use that opportunity to update the theme.
|
||||||
|
// We use a setTimeout with a 0 timeout here to put the change on the event queue.
|
||||||
|
// For some reason, if we try to change the theme while the `pageshow` event is
|
||||||
|
// running, it sometimes fails to take effect. The problem manifests on Chrome,
|
||||||
|
// specifically when talking to a remote website with no caching.
|
||||||
|
window.addEventListener("pageshow", function(ev) {
|
||||||
|
if (ev.persisted) {
|
||||||
|
setTimeout(switchToSavedTheme, 0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
@ -117,6 +117,7 @@
|
|||||||
</div> {#- -#}
|
</div> {#- -#}
|
||||||
<form class="search-form"> {#- -#}
|
<form class="search-form"> {#- -#}
|
||||||
<div class="search-container"> {#- -#}
|
<div class="search-container"> {#- -#}
|
||||||
|
<span></span> {#- This empty span is a hacky fix for Safari - See #93184 -#}
|
||||||
<input {# -#}
|
<input {# -#}
|
||||||
class="search-input" {# -#}
|
class="search-input" {# -#}
|
||||||
name="search" {# -#}
|
name="search" {# -#}
|
||||||
|
@ -20,7 +20,7 @@ assert-css: (".srclink", {"text-decoration": "underline solid rgb(56, 115, 173)"
|
|||||||
|
|
||||||
assert-css: ("#top-doc-prose-title", {"color": "rgb(0, 0, 0)"})
|
assert-css: ("#top-doc-prose-title", {"color": "rgb(0, 0, 0)"})
|
||||||
|
|
||||||
assert-css: (".sidebar a", {"color": "rgb(56, 115, 173)"})
|
assert-css: (".sidebar a", {"color": "rgb(53, 109, 164)"})
|
||||||
assert-css: (".in-band a", {"color": "rgb(0, 0, 0)"})
|
assert-css: (".in-band a", {"color": "rgb(0, 0, 0)"})
|
||||||
|
|
||||||
// We move the cursor over the "Implementations" title so the anchor is displayed.
|
// We move the cursor over the "Implementations" title so the anchor is displayed.
|
||||||
|
@ -9,7 +9,7 @@ assert-text: (".sidebar > .location", "Crate test_docs")
|
|||||||
// In modules, we only have one "location" element.
|
// In modules, we only have one "location" element.
|
||||||
assert-count: (".sidebar .location", 1)
|
assert-count: (".sidebar .location", 1)
|
||||||
assert-text: ("#all-types", "All Items")
|
assert-text: ("#all-types", "All Items")
|
||||||
assert-css: ("#all-types", {"color": "rgb(56, 115, 173)"})
|
assert-css: ("#all-types", {"color": "rgb(53, 109, 164)"})
|
||||||
// We check that we have the crates list and that the "current" on is "test_docs".
|
// We check that we have the crates list and that the "current" on is "test_docs".
|
||||||
assert-text: (".sidebar-elems .crate > ul > li > a.current", "test_docs")
|
assert-text: (".sidebar-elems .crate > ul > li > a.current", "test_docs")
|
||||||
// And we're also supposed to have the list of items in the current module.
|
// And we're also supposed to have the list of items in the current module.
|
||||||
@ -38,7 +38,7 @@ assert-property: ("html", {"scrollTop": "0"})
|
|||||||
|
|
||||||
// We now go back to the crate page to click on the "lib2" crate link.
|
// We now go back to the crate page to click on the "lib2" crate link.
|
||||||
goto: file://|DOC_PATH|/test_docs/index.html
|
goto: file://|DOC_PATH|/test_docs/index.html
|
||||||
assert-css: (".sidebar-elems .crate > ul > li:first-child > a", {"color": "rgb(56, 115, 173)"})
|
assert-css: (".sidebar-elems .crate > ul > li:first-child > a", {"color": "rgb(53, 109, 164)"})
|
||||||
click: ".sidebar-elems .crate > ul > li:first-child > a"
|
click: ".sidebar-elems .crate > ul > li:first-child > a"
|
||||||
|
|
||||||
// PAGE: lib2/index.html
|
// PAGE: lib2/index.html
|
||||||
|
Loading…
x
Reference in New Issue
Block a user