Auto merge of #118232 - matthiaskrgr:rollup-x8crvm0, r=matthiaskrgr

Rollup of 6 pull requests

Successful merges:

 - #116807 (Improve rewind documentation)
 - #117656 (Update windows-bindgen and define `INVALID_HANDLE_VALUE` ourselves)
 - #117940 (chore: remove unnecessary drop)
 - #118028 (Document behavior of `<dyn Any as Any>::type_id()`)
 - #118060 (Use an absolute path to the NUL device)
 - #118224 (Sort unstable items last in rustdoc, instead of first)

r? `@ghost`
`@rustbot` modify labels: rollup
This commit is contained in:
bors 2023-11-24 09:21:23 +00:00
commit f74f700952
11 changed files with 37 additions and 17 deletions

View File

@ -6072,9 +6072,9 @@ dependencies = [
[[package]] [[package]]
name = "windows-bindgen" name = "windows-bindgen"
version = "0.51.1" version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc1f16b778125675feee0d15d6dd9f6af0e3ac52b3233d63a10aa39230c1cd75" checksum = "970efb0b6849eb8a87a898f586af7cc167567b070014c7434514c0bde0ca341c"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"rayon", "rayon",
@ -6084,9 +6084,9 @@ dependencies = [
[[package]] [[package]]
name = "windows-metadata" name = "windows-metadata"
version = "0.51.1" version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "753135d996f9da437c0b31dbde3032489a61708361929bcc07d4fba0b161000e" checksum = "218fd59201e26acdbb894fa2b302d1de84bf3eec7d0eb894ac8e9c5a854ee4ef"
[[package]] [[package]]
name = "windows-sys" name = "windows-sys"

View File

@ -115,6 +115,11 @@
pub trait Any: 'static { pub trait Any: 'static {
/// Gets the `TypeId` of `self`. /// Gets the `TypeId` of `self`.
/// ///
/// If called on a `dyn Any` trait object
/// (or a trait object of a subtrait of `Any`),
/// this returns the `TypeId` of the underlying
/// concrete type, not that of `dyn Any` itself.
///
/// # Examples /// # Examples
/// ///
/// ``` /// ```

View File

@ -409,8 +409,7 @@ pub const fn new(value: T) -> Cell<T> {
#[inline] #[inline]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
pub fn set(&self, val: T) { pub fn set(&self, val: T) {
let old = self.replace(val); self.replace(val);
drop(old);
} }
/// Swaps the values of two `Cell`s. /// Swaps the values of two `Cell`s.

View File

@ -556,6 +556,10 @@ pub(crate) fn default_read_buf<F>(read: F, mut cursor: BorrowedCursor<'_>) -> Re
/// therefore, using something that implements [`BufRead`], such as /// therefore, using something that implements [`BufRead`], such as
/// [`BufReader`], will be more efficient. /// [`BufReader`], will be more efficient.
/// ///
/// Repeated calls to the reader use the same cursor, so for example
/// calling `read_to_end` twice on a [`File`] will only return the file's
/// contents once. It's recommended to first call `rewind()` in that case.
///
/// # Examples /// # Examples
/// ///
/// [`File`]s implement `Read`: /// [`File`]s implement `Read`:

View File

@ -47,6 +47,8 @@
pub use LINGER as linger; pub use LINGER as linger;
pub use TIMEVAL as timeval; pub use TIMEVAL as timeval;
pub const INVALID_HANDLE_VALUE: HANDLE = ::core::ptr::invalid_mut(-1i32 as _);
// https://learn.microsoft.com/en-us/cpp/c-runtime-library/exit-success-exit-failure?view=msvc-170 // https://learn.microsoft.com/en-us/cpp/c-runtime-library/exit-success-exit-failure?view=msvc-170
pub const EXIT_SUCCESS: u32 = 0; pub const EXIT_SUCCESS: u32 = 0;
pub const EXIT_FAILURE: u32 = 1; pub const EXIT_FAILURE: u32 = 1;

View File

@ -2,6 +2,7 @@
--config flatten std --config flatten std
--filter --filter
// tidy-alphabetical-start // tidy-alphabetical-start
!Windows.Win32.Foundation.INVALID_HANDLE_VALUE
Windows.Wdk.Storage.FileSystem.FILE_COMPLETE_IF_OPLOCKED Windows.Wdk.Storage.FileSystem.FILE_COMPLETE_IF_OPLOCKED
Windows.Wdk.Storage.FileSystem.FILE_CONTAINS_EXTENDED_CREATE_INFORMATION Windows.Wdk.Storage.FileSystem.FILE_CONTAINS_EXTENDED_CREATE_INFORMATION
Windows.Wdk.Storage.FileSystem.FILE_CREATE Windows.Wdk.Storage.FileSystem.FILE_CREATE
@ -1923,7 +1924,6 @@ Windows.Win32.Foundation.HANDLE_FLAG_INHERIT
Windows.Win32.Foundation.HANDLE_FLAG_PROTECT_FROM_CLOSE Windows.Win32.Foundation.HANDLE_FLAG_PROTECT_FROM_CLOSE
Windows.Win32.Foundation.HANDLE_FLAGS Windows.Win32.Foundation.HANDLE_FLAGS
Windows.Win32.Foundation.HMODULE Windows.Win32.Foundation.HMODULE
Windows.Win32.Foundation.INVALID_HANDLE_VALUE
Windows.Win32.Foundation.MAX_PATH Windows.Win32.Foundation.MAX_PATH
Windows.Win32.Foundation.NO_ERROR Windows.Win32.Foundation.NO_ERROR
Windows.Win32.Foundation.NTSTATUS Windows.Win32.Foundation.NTSTATUS
@ -2483,7 +2483,6 @@ Windows.Win32.System.SystemInformation.GetSystemTimeAsFileTime
Windows.Win32.System.SystemInformation.GetWindowsDirectoryW Windows.Win32.System.SystemInformation.GetWindowsDirectoryW
Windows.Win32.System.SystemInformation.PROCESSOR_ARCHITECTURE Windows.Win32.System.SystemInformation.PROCESSOR_ARCHITECTURE
Windows.Win32.System.SystemInformation.SYSTEM_INFO Windows.Win32.System.SystemInformation.SYSTEM_INFO
Windows.Win32.System.SystemServices.ALL_PROCESSOR_GROUPS
Windows.Win32.System.SystemServices.DLL_PROCESS_DETACH Windows.Win32.System.SystemServices.DLL_PROCESS_DETACH
Windows.Win32.System.SystemServices.DLL_THREAD_DETACH Windows.Win32.System.SystemServices.DLL_THREAD_DETACH
Windows.Win32.System.SystemServices.EXCEPTION_MAXIMUM_PARAMETERS Windows.Win32.System.SystemServices.EXCEPTION_MAXIMUM_PARAMETERS
@ -2492,6 +2491,7 @@ Windows.Win32.System.SystemServices.IO_REPARSE_TAG_SYMLINK
Windows.Win32.System.Threading.ABOVE_NORMAL_PRIORITY_CLASS Windows.Win32.System.Threading.ABOVE_NORMAL_PRIORITY_CLASS
Windows.Win32.System.Threading.AcquireSRWLockExclusive Windows.Win32.System.Threading.AcquireSRWLockExclusive
Windows.Win32.System.Threading.AcquireSRWLockShared Windows.Win32.System.Threading.AcquireSRWLockShared
Windows.Win32.System.Threading.ALL_PROCESSOR_GROUPS
Windows.Win32.System.Threading.BELOW_NORMAL_PRIORITY_CLASS Windows.Win32.System.Threading.BELOW_NORMAL_PRIORITY_CLASS
Windows.Win32.System.Threading.CREATE_BREAKAWAY_FROM_JOB Windows.Win32.System.Threading.CREATE_BREAKAWAY_FROM_JOB
Windows.Win32.System.Threading.CREATE_DEFAULT_ERROR_MODE Windows.Win32.System.Threading.CREATE_DEFAULT_ERROR_MODE

View File

@ -4,7 +4,7 @@
// regenerate the bindings. // regenerate the bindings.
// //
// ignore-tidy-filelength // ignore-tidy-filelength
// Bindings generated by `windows-bindgen` 0.51.1 // Bindings generated by `windows-bindgen` 0.52.0
#![allow(non_snake_case, non_upper_case_globals, non_camel_case_types, dead_code, clippy::all)] #![allow(non_snake_case, non_upper_case_globals, non_camel_case_types, dead_code, clippy::all)]
#[link(name = "advapi32")] #[link(name = "advapi32")]
@ -63,7 +63,7 @@ pub fn CopyFileExW(
lpnewfilename: PCWSTR, lpnewfilename: PCWSTR,
lpprogressroutine: LPPROGRESS_ROUTINE, lpprogressroutine: LPPROGRESS_ROUTINE,
lpdata: *const ::core::ffi::c_void, lpdata: *const ::core::ffi::c_void,
pbcancel: *mut i32, pbcancel: *mut BOOL,
dwcopyflags: u32, dwcopyflags: u32,
) -> BOOL; ) -> BOOL;
} }
@ -619,7 +619,7 @@ pub fn WideCharToMultiByte(
lpmultibytestr: PSTR, lpmultibytestr: PSTR,
cbmultibyte: i32, cbmultibyte: i32,
lpdefaultchar: PCSTR, lpdefaultchar: PCSTR,
lpuseddefaultchar: *mut i32, lpuseddefaultchar: *mut BOOL,
) -> i32; ) -> i32;
} }
#[link(name = "kernel32")] #[link(name = "kernel32")]
@ -869,7 +869,7 @@ fn clone(&self) -> Self {
pub const AF_INET6: ADDRESS_FAMILY = 23u16; pub const AF_INET6: ADDRESS_FAMILY = 23u16;
pub const AF_UNIX: u16 = 1u16; pub const AF_UNIX: u16 = 1u16;
pub const AF_UNSPEC: ADDRESS_FAMILY = 0u16; pub const AF_UNSPEC: ADDRESS_FAMILY = 0u16;
pub const ALL_PROCESSOR_GROUPS: u32 = 65535u32; pub const ALL_PROCESSOR_GROUPS: u16 = 65535u16;
#[repr(C)] #[repr(C)]
pub union ARM64_NT_NEON128 { pub union ARM64_NT_NEON128 {
pub Anonymous: ARM64_NT_NEON128_0, pub Anonymous: ARM64_NT_NEON128_0,
@ -3498,7 +3498,6 @@ fn clone(&self) -> Self {
} }
pub const INIT_ONCE_INIT_FAILED: u32 = 4u32; pub const INIT_ONCE_INIT_FAILED: u32 = 4u32;
pub const INVALID_FILE_ATTRIBUTES: u32 = 4294967295u32; pub const INVALID_FILE_ATTRIBUTES: u32 = 4294967295u32;
pub const INVALID_HANDLE_VALUE: HANDLE = ::core::ptr::invalid_mut(-1i32 as _);
pub const INVALID_SOCKET: SOCKET = -1i32 as _; pub const INVALID_SOCKET: SOCKET = -1i32 as _;
#[repr(C)] #[repr(C)]
pub struct IN_ADDR { pub struct IN_ADDR {

View File

@ -597,7 +597,7 @@ fn to_handle(&self, stdio_id: c::DWORD, pipe: &mut Option<AnonPipe>) -> io::Resu
opts.read(stdio_id == c::STD_INPUT_HANDLE); opts.read(stdio_id == c::STD_INPUT_HANDLE);
opts.write(stdio_id != c::STD_INPUT_HANDLE); opts.write(stdio_id != c::STD_INPUT_HANDLE);
opts.security_attributes(&mut sa); opts.security_attributes(&mut sa);
File::open(Path::new("NUL"), &opts).map(|file| file.into_inner()) File::open(Path::new(r"\\.\NUL"), &opts).map(|file| file.into_inner())
} }
} }
} }

View File

@ -369,8 +369,8 @@ fn cmp(
if let (Some(a), Some(b)) = (s1, s2) { if let (Some(a), Some(b)) = (s1, s2) {
match (a.is_stable(), b.is_stable()) { match (a.is_stable(), b.is_stable()) {
(true, true) | (false, false) => {} (true, true) | (false, false) => {}
(false, true) => return Ordering::Less, (false, true) => return Ordering::Greater,
(true, false) => return Ordering::Greater, (true, false) => return Ordering::Less,
} }
} }
let lhs = i1.name.unwrap_or(kw::Empty); let lhs = i1.name.unwrap_or(kw::Empty);

View File

@ -4,4 +4,4 @@ version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies.windows-bindgen] [dependencies.windows-bindgen]
version = "0.51.1" version = "0.52.0"

View File

@ -2,6 +2,14 @@
#![unstable(feature = "test", issue = "none")] #![unstable(feature = "test", issue = "none")]
// @has stability/index.html
// @has - '//ul[@class="item-table"]/li[1]//a' AaStable
// @has - '//ul[@class="item-table"]/li[2]//a' ZzStable
// @has - '//ul[@class="item-table"]/li[3]//a' Unstable
#[stable(feature = "rust2", since = "2.2.2")]
pub struct AaStable;
pub struct Unstable { pub struct Unstable {
// @has stability/struct.Unstable.html \ // @has stability/struct.Unstable.html \
// '//span[@class="item-info"]//div[@class="stab unstable"]' \ // '//span[@class="item-info"]//div[@class="stab unstable"]' \
@ -10,3 +18,6 @@ pub struct Unstable {
pub foo: u32, pub foo: u32,
pub bar: u32, pub bar: u32,
} }
#[stable(feature = "rust2", since = "2.2.2")]
pub struct ZzStable;