Auto merge of #139724 - ChrisDenton:rollup-zhcdtzh, r=ChrisDenton
Rollup of 8 pull requests Successful merges: - #139163 (indirect-const-stabilize the `exact_div` intrinsic) - #139276 (Revert "Disable `f16` on Aarch64 without `neon`") - #139315 (Switch `time` to `jiff` for time formatting in ICE dumps) - #139382 (Update windows-bindgen to 0.61.0) - #139688 (rustdoc-search: add unbox flag to Result aliases) - #139701 (docs: clarify uint exponent for `is_power_of_two`) - #139705 (Removed outdated ui test suite README, give reasons for disabled tests) - #139713 (Fix typo in documentation) r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
fda35a6da6
29 changed files with 349 additions and 160 deletions
60
Cargo.lock
60
Cargo.lock
|
@ -931,15 +931,6 @@ dependencies = [
|
|||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "deranged"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e"
|
||||
dependencies = [
|
||||
"powerfmt",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "derive-where"
|
||||
version = "1.2.7"
|
||||
|
@ -2425,12 +2416,6 @@ dependencies = [
|
|||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-conv"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
|
||||
|
||||
[[package]]
|
||||
name = "num-integer"
|
||||
version = "0.1.46"
|
||||
|
@ -2808,12 +2793,6 @@ dependencies = [
|
|||
"portable-atomic",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "powerfmt"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
|
||||
|
||||
[[package]]
|
||||
name = "ppv-lite86"
|
||||
version = "0.2.21"
|
||||
|
@ -3616,6 +3595,7 @@ name = "rustc_driver_impl"
|
|||
version = "0.0.0"
|
||||
dependencies = [
|
||||
"ctrlc",
|
||||
"jiff",
|
||||
"libc",
|
||||
"rustc_abi",
|
||||
"rustc_ast",
|
||||
|
@ -3662,7 +3642,6 @@ dependencies = [
|
|||
"rustc_ty_utils",
|
||||
"serde_json",
|
||||
"shlex",
|
||||
"time",
|
||||
"tracing",
|
||||
"windows 0.59.0",
|
||||
]
|
||||
|
@ -5356,37 +5335,6 @@ dependencies = [
|
|||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.3.41"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40"
|
||||
dependencies = [
|
||||
"deranged",
|
||||
"itoa",
|
||||
"num-conv",
|
||||
"powerfmt",
|
||||
"serde",
|
||||
"time-core",
|
||||
"time-macros",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "time-core"
|
||||
version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
|
||||
|
||||
[[package]]
|
||||
name = "time-macros"
|
||||
version = "0.2.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49"
|
||||
dependencies = [
|
||||
"num-conv",
|
||||
"time-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tinystr"
|
||||
version = "0.7.6"
|
||||
|
@ -6111,11 +6059,13 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "windows-bindgen"
|
||||
version = "0.59.0"
|
||||
version = "0.61.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b7fb600834d7e868f6e5bb748a86101427330fafbf9485c331b9d5f562d54a5"
|
||||
checksum = "ac1c59c20569610dd9ed784d5f003fb493ec57b4cf39d974eb03a84bb7156c90"
|
||||
dependencies = [
|
||||
"rayon",
|
||||
"serde",
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
|
@ -4,6 +4,7 @@ version = "0.0.0"
|
|||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
jiff = { version = "0.2.5", default-features = false, features = ["std"] }
|
||||
# tidy-alphabetical-start
|
||||
rustc_abi = { path = "../rustc_abi" }
|
||||
rustc_ast = { path = "../rustc_ast" }
|
||||
|
@ -50,7 +51,6 @@ rustc_trait_selection = { path = "../rustc_trait_selection" }
|
|||
rustc_ty_utils = { path = "../rustc_ty_utils" }
|
||||
serde_json = "1.0.59"
|
||||
shlex = "1.0"
|
||||
time = { version = "0.3.36", default-features = false, features = ["alloc", "formatting", "macros"] }
|
||||
tracing = { version = "0.1.35" }
|
||||
# tidy-alphabetical-end
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ use std::path::{Path, PathBuf};
|
|||
use std::process::{self, Command, Stdio};
|
||||
use std::sync::OnceLock;
|
||||
use std::sync::atomic::{AtomicBool, Ordering};
|
||||
use std::time::{Instant, SystemTime};
|
||||
use std::time::Instant;
|
||||
use std::{env, str};
|
||||
|
||||
use rustc_ast as ast;
|
||||
|
@ -66,8 +66,6 @@ use rustc_span::FileName;
|
|||
use rustc_span::def_id::LOCAL_CRATE;
|
||||
use rustc_target::json::ToJson;
|
||||
use rustc_target::spec::{Target, TargetTuple};
|
||||
use time::OffsetDateTime;
|
||||
use time::macros::format_description;
|
||||
use tracing::trace;
|
||||
|
||||
#[allow(unused_macros)]
|
||||
|
@ -1301,13 +1299,8 @@ fn ice_path_with_config(config: Option<&UnstableOptions>) -> &'static Option<Pat
|
|||
.or_else(|| std::env::current_dir().ok())
|
||||
.unwrap_or_default(),
|
||||
};
|
||||
let now: OffsetDateTime = SystemTime::now().into();
|
||||
let file_now = now
|
||||
.format(
|
||||
// Don't use a standard datetime format because Windows doesn't support `:` in paths
|
||||
&format_description!("[year]-[month]-[day]T[hour]_[minute]_[second]"),
|
||||
)
|
||||
.unwrap_or_default();
|
||||
// Don't use a standard datetime format because Windows doesn't support `:` in paths
|
||||
let file_now = jiff::Zoned::now().strftime("%Y-%m-%dT%H_%M_%S");
|
||||
let pid = std::process::id();
|
||||
path.push(format!("rustc-ice-{file_now}-{pid}.txt"));
|
||||
Some(path)
|
||||
|
|
|
@ -1109,6 +1109,7 @@ impl<'tcx> CheckAttrVisitor<'tcx> {
|
|||
ItemKind::Trait(_, _, _, generics, _, items)
|
||||
if generics.params.len() != 0
|
||||
|| items.iter().any(|item| matches!(item.kind, AssocItemKind::Type)) => {}
|
||||
ItemKind::TyAlias(_, _, generics) if generics.params.len() != 0 => {}
|
||||
_ => {
|
||||
self.dcx().emit_err(errors::DocSearchUnboxInvalid { span: meta.span() });
|
||||
}
|
||||
|
|
|
@ -109,7 +109,7 @@
|
|||
//! parameters (corresponding to `format_spec` in [the syntax](#syntax)). These
|
||||
//! parameters affect the string representation of what's being formatted.
|
||||
//!
|
||||
//! The colon `:` in format syntax divides indentifier of the input data and
|
||||
//! The colon `:` in format syntax divides identifier of the input data and
|
||||
//! the formatting options, the colon itself does not change anything, only
|
||||
//! introduces the options.
|
||||
//!
|
||||
|
|
|
@ -2737,6 +2737,7 @@ pub const fn carrying_mul_add<T: ~const fallback::CarryingMulAdd<Unsigned = U>,
|
|||
/// `x % y != 0` or `y == 0` or `x == T::MIN && y == -1`
|
||||
///
|
||||
/// This intrinsic does not have a stable counterpart.
|
||||
#[rustc_intrinsic_const_stable_indirect]
|
||||
#[rustc_nounwind]
|
||||
#[rustc_intrinsic]
|
||||
pub const unsafe fn exact_div<T: Copy>(x: T, y: T) -> T;
|
||||
|
|
|
@ -3343,7 +3343,7 @@ macro_rules! uint_impl {
|
|||
}
|
||||
}
|
||||
|
||||
/// Returns `true` if and only if `self == 2^k` for some `k`.
|
||||
/// Returns `true` if and only if `self == 2^k` for some unsigned integer `k`.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
|
|
|
@ -1287,7 +1287,6 @@ impl<T> [T] {
|
|||
/// // let chunks: &[[_; 0]] = slice.as_chunks_unchecked() // Zero-length chunks are never allowed
|
||||
/// ```
|
||||
#[unstable(feature = "slice_as_chunks", issue = "74985")]
|
||||
#[rustc_const_unstable(feature = "slice_as_chunks", issue = "74985")]
|
||||
#[inline]
|
||||
#[must_use]
|
||||
pub const unsafe fn as_chunks_unchecked<const N: usize>(&self) -> &[[T; N]] {
|
||||
|
@ -1333,7 +1332,6 @@ impl<T> [T] {
|
|||
/// assert_eq!(chunks, &[['R', 'u'], ['s', 't']]);
|
||||
/// ```
|
||||
#[unstable(feature = "slice_as_chunks", issue = "74985")]
|
||||
#[rustc_const_unstable(feature = "slice_as_chunks", issue = "74985")]
|
||||
#[inline]
|
||||
#[track_caller]
|
||||
#[must_use]
|
||||
|
@ -1368,7 +1366,6 @@ impl<T> [T] {
|
|||
/// assert_eq!(chunks, &[['o', 'r'], ['e', 'm']]);
|
||||
/// ```
|
||||
#[unstable(feature = "slice_as_chunks", issue = "74985")]
|
||||
#[rustc_const_unstable(feature = "slice_as_chunks", issue = "74985")]
|
||||
#[inline]
|
||||
#[track_caller]
|
||||
#[must_use]
|
||||
|
@ -1448,7 +1445,6 @@ impl<T> [T] {
|
|||
/// // let chunks: &[[_; 0]] = slice.as_chunks_unchecked_mut() // Zero-length chunks are never allowed
|
||||
/// ```
|
||||
#[unstable(feature = "slice_as_chunks", issue = "74985")]
|
||||
#[rustc_const_unstable(feature = "slice_as_chunks", issue = "74985")]
|
||||
#[inline]
|
||||
#[must_use]
|
||||
pub const unsafe fn as_chunks_unchecked_mut<const N: usize>(&mut self) -> &mut [[T; N]] {
|
||||
|
@ -1489,7 +1485,6 @@ impl<T> [T] {
|
|||
/// assert_eq!(v, &[1, 1, 2, 2, 9]);
|
||||
/// ```
|
||||
#[unstable(feature = "slice_as_chunks", issue = "74985")]
|
||||
#[rustc_const_unstable(feature = "slice_as_chunks", issue = "74985")]
|
||||
#[inline]
|
||||
#[track_caller]
|
||||
#[must_use]
|
||||
|
@ -1530,7 +1525,6 @@ impl<T> [T] {
|
|||
/// assert_eq!(v, &[9, 1, 1, 2, 2]);
|
||||
/// ```
|
||||
#[unstable(feature = "slice_as_chunks", issue = "74985")]
|
||||
#[rustc_const_unstable(feature = "slice_as_chunks", issue = "74985")]
|
||||
#[inline]
|
||||
#[track_caller]
|
||||
#[must_use]
|
||||
|
|
|
@ -12,11 +12,6 @@ fn main() {
|
|||
.expect("CARGO_CFG_TARGET_POINTER_WIDTH was not set")
|
||||
.parse()
|
||||
.unwrap();
|
||||
let target_features: Vec<_> = env::var("CARGO_CFG_TARGET_FEATURE")
|
||||
.unwrap_or_default()
|
||||
.split(",")
|
||||
.map(ToOwned::to_owned)
|
||||
.collect();
|
||||
let is_miri = env::var_os("CARGO_CFG_MIRI").is_some();
|
||||
|
||||
println!("cargo:rustc-check-cfg=cfg(netbsd10)");
|
||||
|
@ -108,8 +103,6 @@ fn main() {
|
|||
("s390x", _) => false,
|
||||
// Unsupported <https://github.com/llvm/llvm-project/issues/94434>
|
||||
("arm64ec", _) => false,
|
||||
// LLVM crash <https://github.com/llvm/llvm-project/issues/129394>
|
||||
("aarch64", _) if !target_features.iter().any(|f| f == "neon") => false,
|
||||
// MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054>
|
||||
("x86_64", "windows") if target_env == "gnu" && target_abi != "llvm" => false,
|
||||
// Infinite recursion <https://github.com/llvm/llvm-project/issues/97981>
|
||||
|
|
|
@ -48,6 +48,7 @@ use crate::{error, fmt, result, sys};
|
|||
/// }
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[cfg_attr(not(bootstrap), doc(search_unbox))]
|
||||
pub type Result<T> = result::Result<T, Error>;
|
||||
|
||||
/// The error type for I/O operations of the [`Read`], [`Write`], [`Seek`], and
|
||||
|
|
|
@ -95,7 +95,7 @@ fn open_link_no_reparse(
|
|||
ObjectName: &mut path_str,
|
||||
RootDirectory: parent.as_raw_handle(),
|
||||
Attributes: ATTRIBUTES.load(Ordering::Relaxed),
|
||||
..c::OBJECT_ATTRIBUTES::default()
|
||||
..c::OBJECT_ATTRIBUTES::with_length()
|
||||
};
|
||||
let share = c::FILE_SHARE_DELETE | c::FILE_SHARE_READ | c::FILE_SHARE_WRITE;
|
||||
let options = c::FILE_OPEN_REPARSE_POINT | options;
|
||||
|
|
|
@ -44,8 +44,8 @@ impl UNICODE_STRING {
|
|||
}
|
||||
}
|
||||
|
||||
impl Default for OBJECT_ATTRIBUTES {
|
||||
fn default() -> Self {
|
||||
impl OBJECT_ATTRIBUTES {
|
||||
pub fn with_length() -> Self {
|
||||
Self {
|
||||
Length: size_of::<Self>() as _,
|
||||
RootDirectory: ptr::null_mut(),
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
--out windows_sys.rs
|
||||
--flat
|
||||
--sys
|
||||
--no-core
|
||||
--no-deps
|
||||
--link windows_targets
|
||||
--filter
|
||||
!INVALID_HANDLE_VALUE
|
||||
ABOVE_NORMAL_PRIORITY_CLASS
|
||||
|
@ -19,7 +20,6 @@ ALL_PROCESSOR_GROUPS
|
|||
ARM64_NT_NEON128
|
||||
BELOW_NORMAL_PRIORITY_CLASS
|
||||
bind
|
||||
BOOL
|
||||
BY_HANDLE_FILE_INFORMATION
|
||||
CALLBACK_CHUNK_FINISHED
|
||||
CALLBACK_STREAM_SWITCH
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Bindings generated by `windows-bindgen` 0.59.0
|
||||
// Bindings generated by `windows-bindgen` 0.61.0
|
||||
|
||||
#![allow(non_snake_case, non_upper_case_globals, non_camel_case_types, dead_code, clippy::all)]
|
||||
|
||||
|
@ -141,7 +141,7 @@ windows_targets::link!("ws2_32.dll" "system" fn setsockopt(s : SOCKET, level : i
|
|||
windows_targets::link!("ws2_32.dll" "system" fn shutdown(s : SOCKET, how : WINSOCK_SHUTDOWN_HOW) -> i32);
|
||||
pub const ABOVE_NORMAL_PRIORITY_CLASS: PROCESS_CREATION_FLAGS = 32768u32;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct ACL {
|
||||
pub AclRevision: u8,
|
||||
pub Sbz1: u8,
|
||||
|
@ -162,6 +162,11 @@ pub struct ADDRINFOA {
|
|||
pub ai_addr: *mut SOCKADDR,
|
||||
pub ai_next: *mut ADDRINFOA,
|
||||
}
|
||||
impl Default for ADDRINFOA {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const AF_INET: ADDRESS_FAMILY = 2u16;
|
||||
pub const AF_INET6: ADDRESS_FAMILY = 23u16;
|
||||
pub const AF_UNIX: u16 = 1u16;
|
||||
|
@ -176,8 +181,13 @@ pub union ARM64_NT_NEON128 {
|
|||
pub H: [u16; 8],
|
||||
pub B: [u8; 16],
|
||||
}
|
||||
impl Default for ARM64_NT_NEON128 {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct ARM64_NT_NEON128_0 {
|
||||
pub Low: u64,
|
||||
pub High: i64,
|
||||
|
@ -185,7 +195,7 @@ pub struct ARM64_NT_NEON128_0 {
|
|||
pub const BELOW_NORMAL_PRIORITY_CLASS: PROCESS_CREATION_FLAGS = 16384u32;
|
||||
pub type BOOL = i32;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct BY_HANDLE_FILE_INFORMATION {
|
||||
pub dwFileAttributes: u32,
|
||||
pub ftCreationTime: FILETIME,
|
||||
|
@ -206,9 +216,14 @@ pub type COMPARESTRING_RESULT = i32;
|
|||
pub struct CONDITION_VARIABLE {
|
||||
pub Ptr: *mut core::ffi::c_void,
|
||||
}
|
||||
impl Default for CONDITION_VARIABLE {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub type CONSOLE_MODE = u32;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct CONSOLE_READCONSOLE_CONTROL {
|
||||
pub nLength: u32,
|
||||
pub nInitialChars: u32,
|
||||
|
@ -245,6 +260,12 @@ pub struct CONTEXT {
|
|||
pub SegSs: u32,
|
||||
pub ExtendedRegisters: [u8; 512],
|
||||
}
|
||||
#[cfg(target_arch = "x86")]
|
||||
impl Default for CONTEXT {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
#[derive(Clone, Copy)]
|
||||
|
@ -296,6 +317,12 @@ pub struct CONTEXT {
|
|||
pub LastExceptionToRip: u64,
|
||||
pub LastExceptionFromRip: u64,
|
||||
}
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Default for CONTEXT {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
#[derive(Clone, Copy)]
|
||||
|
@ -303,6 +330,12 @@ pub union CONTEXT_0 {
|
|||
pub FltSave: XSAVE_FORMAT,
|
||||
pub Anonymous: CONTEXT_0_0,
|
||||
}
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Default for CONTEXT_0 {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
#[derive(Clone, Copy)]
|
||||
|
@ -326,6 +359,12 @@ pub struct CONTEXT_0_0 {
|
|||
pub Xmm14: M128A,
|
||||
pub Xmm15: M128A,
|
||||
}
|
||||
#[cfg(any(target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Default for CONTEXT_0_0 {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
#[derive(Clone, Copy)]
|
||||
|
@ -343,6 +382,12 @@ pub struct CONTEXT {
|
|||
pub Wcr: [u32; 2],
|
||||
pub Wvr: [u64; 2],
|
||||
}
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
impl Default for CONTEXT {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
#[derive(Clone, Copy)]
|
||||
|
@ -350,9 +395,15 @@ pub union CONTEXT_0 {
|
|||
pub Anonymous: CONTEXT_0_0,
|
||||
pub X: [u64; 31],
|
||||
}
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
impl Default for CONTEXT_0 {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct CONTEXT_0_0 {
|
||||
pub X0: u64,
|
||||
pub X1: u64,
|
||||
|
@ -2305,6 +2356,11 @@ pub struct EXCEPTION_POINTERS {
|
|||
pub ExceptionRecord: *mut EXCEPTION_RECORD,
|
||||
pub ContextRecord: *mut CONTEXT,
|
||||
}
|
||||
impl Default for EXCEPTION_POINTERS {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
pub struct EXCEPTION_RECORD {
|
||||
|
@ -2315,6 +2371,11 @@ pub struct EXCEPTION_RECORD {
|
|||
pub NumberParameters: u32,
|
||||
pub ExceptionInformation: [usize; 15],
|
||||
}
|
||||
impl Default for EXCEPTION_RECORD {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const EXCEPTION_STACK_OVERFLOW: NTSTATUS = 0xC00000FD_u32 as _;
|
||||
pub const EXTENDED_STARTUPINFO_PRESENT: PROCESS_CREATION_FLAGS = 524288u32;
|
||||
pub const E_NOTIMPL: HRESULT = 0x80004001_u32 as _;
|
||||
|
@ -2333,8 +2394,13 @@ pub struct FD_SET {
|
|||
pub fd_count: u32,
|
||||
pub fd_array: [SOCKET; 64],
|
||||
}
|
||||
impl Default for FD_SET {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct FILETIME {
|
||||
pub dwLowDateTime: u32,
|
||||
pub dwHighDateTime: u32,
|
||||
|
@ -2343,7 +2409,7 @@ pub type FILE_ACCESS_RIGHTS = u32;
|
|||
pub const FILE_ADD_FILE: FILE_ACCESS_RIGHTS = 2u32;
|
||||
pub const FILE_ADD_SUBDIRECTORY: FILE_ACCESS_RIGHTS = 4u32;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct FILE_ALLOCATION_INFO {
|
||||
pub AllocationSize: i64,
|
||||
}
|
||||
|
@ -2369,7 +2435,7 @@ pub const FILE_ATTRIBUTE_REPARSE_POINT: FILE_FLAGS_AND_ATTRIBUTES = 1024u32;
|
|||
pub const FILE_ATTRIBUTE_SPARSE_FILE: FILE_FLAGS_AND_ATTRIBUTES = 512u32;
|
||||
pub const FILE_ATTRIBUTE_SYSTEM: FILE_FLAGS_AND_ATTRIBUTES = 4u32;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct FILE_ATTRIBUTE_TAG_INFO {
|
||||
pub FileAttributes: u32,
|
||||
pub ReparseTag: u32,
|
||||
|
@ -2378,7 +2444,7 @@ pub const FILE_ATTRIBUTE_TEMPORARY: FILE_FLAGS_AND_ATTRIBUTES = 256u32;
|
|||
pub const FILE_ATTRIBUTE_UNPINNED: FILE_FLAGS_AND_ATTRIBUTES = 1048576u32;
|
||||
pub const FILE_ATTRIBUTE_VIRTUAL: FILE_FLAGS_AND_ATTRIBUTES = 65536u32;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct FILE_BASIC_INFO {
|
||||
pub CreationTime: i64,
|
||||
pub LastAccessTime: i64,
|
||||
|
@ -2405,19 +2471,19 @@ pub const FILE_DISPOSITION_FLAG_IGNORE_READONLY_ATTRIBUTE: FILE_DISPOSITION_INFO
|
|||
pub const FILE_DISPOSITION_FLAG_ON_CLOSE: FILE_DISPOSITION_INFO_EX_FLAGS = 8u32;
|
||||
pub const FILE_DISPOSITION_FLAG_POSIX_SEMANTICS: FILE_DISPOSITION_INFO_EX_FLAGS = 2u32;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct FILE_DISPOSITION_INFO {
|
||||
pub DeleteFile: bool,
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct FILE_DISPOSITION_INFO_EX {
|
||||
pub Flags: FILE_DISPOSITION_INFO_EX_FLAGS,
|
||||
}
|
||||
pub type FILE_DISPOSITION_INFO_EX_FLAGS = u32;
|
||||
pub const FILE_END: SET_FILE_POINTER_MOVE_METHOD = 2u32;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct FILE_END_OF_FILE_INFO {
|
||||
pub EndOfFile: i64,
|
||||
}
|
||||
|
@ -2457,9 +2523,14 @@ pub struct FILE_ID_BOTH_DIR_INFO {
|
|||
pub FileId: i64,
|
||||
pub FileName: [u16; 1],
|
||||
}
|
||||
impl Default for FILE_ID_BOTH_DIR_INFO {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub type FILE_INFO_BY_HANDLE_CLASS = i32;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct FILE_IO_PRIORITY_HINT_INFO {
|
||||
pub PriorityHint: PRIORITY_HINT,
|
||||
}
|
||||
|
@ -2494,12 +2565,22 @@ pub struct FILE_RENAME_INFO {
|
|||
pub FileNameLength: u32,
|
||||
pub FileName: [u16; 1],
|
||||
}
|
||||
impl Default for FILE_RENAME_INFO {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
pub union FILE_RENAME_INFO_0 {
|
||||
pub ReplaceIfExists: bool,
|
||||
pub Flags: u32,
|
||||
}
|
||||
impl Default for FILE_RENAME_INFO_0 {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const FILE_RESERVE_OPFILTER: NTCREATEFILE_CREATE_OPTIONS = 1048576u32;
|
||||
pub const FILE_SEQUENTIAL_ONLY: NTCREATEFILE_CREATE_OPTIONS = 4u32;
|
||||
pub const FILE_SESSION_AWARE: NTCREATEFILE_CREATE_OPTIONS = 262144u32;
|
||||
|
@ -2509,7 +2590,7 @@ pub const FILE_SHARE_NONE: FILE_SHARE_MODE = 0u32;
|
|||
pub const FILE_SHARE_READ: FILE_SHARE_MODE = 1u32;
|
||||
pub const FILE_SHARE_WRITE: FILE_SHARE_MODE = 2u32;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct FILE_STANDARD_INFO {
|
||||
pub AllocationSize: i64,
|
||||
pub EndOfFile: i64,
|
||||
|
@ -2549,6 +2630,12 @@ pub struct FLOATING_SAVE_AREA {
|
|||
pub RegisterArea: [u8; 80],
|
||||
pub Spare0: u32,
|
||||
}
|
||||
#[cfg(target_arch = "x86")]
|
||||
impl Default for FLOATING_SAVE_AREA {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
#[derive(Clone, Copy)]
|
||||
|
@ -2563,6 +2650,12 @@ pub struct FLOATING_SAVE_AREA {
|
|||
pub RegisterArea: [u8; 80],
|
||||
pub Cr0NpxState: u32,
|
||||
}
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Default for FLOATING_SAVE_AREA {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const FORMAT_MESSAGE_ALLOCATE_BUFFER: FORMAT_MESSAGE_OPTIONS = 256u32;
|
||||
pub const FORMAT_MESSAGE_ARGUMENT_ARRAY: FORMAT_MESSAGE_OPTIONS = 8192u32;
|
||||
pub const FORMAT_MESSAGE_FROM_HMODULE: FORMAT_MESSAGE_OPTIONS = 2048u32;
|
||||
|
@ -2639,12 +2732,22 @@ pub const IDLE_PRIORITY_CLASS: PROCESS_CREATION_FLAGS = 64u32;
|
|||
pub struct IN6_ADDR {
|
||||
pub u: IN6_ADDR_0,
|
||||
}
|
||||
impl Default for IN6_ADDR {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
pub union IN6_ADDR_0 {
|
||||
pub Byte: [u8; 16],
|
||||
pub Word: [u16; 8],
|
||||
}
|
||||
impl Default for IN6_ADDR_0 {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const INFINITE: u32 = 4294967295u32;
|
||||
pub const INHERIT_CALLER_PRIORITY: PROCESS_CREATION_FLAGS = 131072u32;
|
||||
pub const INHERIT_PARENT_AFFINITY: PROCESS_CREATION_FLAGS = 65536u32;
|
||||
|
@ -2653,6 +2756,11 @@ pub const INHERIT_PARENT_AFFINITY: PROCESS_CREATION_FLAGS = 65536u32;
|
|||
pub union INIT_ONCE {
|
||||
pub Ptr: *mut core::ffi::c_void,
|
||||
}
|
||||
impl Default for INIT_ONCE {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const INIT_ONCE_INIT_FAILED: u32 = 4u32;
|
||||
pub const INVALID_FILE_ATTRIBUTES: u32 = 4294967295u32;
|
||||
pub const INVALID_SOCKET: SOCKET = -1i32 as _;
|
||||
|
@ -2661,6 +2769,11 @@ pub const INVALID_SOCKET: SOCKET = -1i32 as _;
|
|||
pub struct IN_ADDR {
|
||||
pub S_un: IN_ADDR_0,
|
||||
}
|
||||
impl Default for IN_ADDR {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
pub union IN_ADDR_0 {
|
||||
|
@ -2668,8 +2781,13 @@ pub union IN_ADDR_0 {
|
|||
pub S_un_w: IN_ADDR_0_1,
|
||||
pub S_addr: u32,
|
||||
}
|
||||
impl Default for IN_ADDR_0 {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct IN_ADDR_0_0 {
|
||||
pub s_b1: u8,
|
||||
pub s_b2: u8,
|
||||
|
@ -2677,7 +2795,7 @@ pub struct IN_ADDR_0_0 {
|
|||
pub s_b4: u8,
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct IN_ADDR_0_1 {
|
||||
pub s_w1: u16,
|
||||
pub s_w2: u16,
|
||||
|
@ -2690,12 +2808,22 @@ pub struct IO_STATUS_BLOCK {
|
|||
pub Anonymous: IO_STATUS_BLOCK_0,
|
||||
pub Information: usize,
|
||||
}
|
||||
impl Default for IO_STATUS_BLOCK {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
pub union IO_STATUS_BLOCK_0 {
|
||||
pub Status: NTSTATUS,
|
||||
pub Pointer: *mut core::ffi::c_void,
|
||||
}
|
||||
impl Default for IO_STATUS_BLOCK_0 {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub type IPPROTO = i32;
|
||||
pub const IPPROTO_AH: IPPROTO = 51i32;
|
||||
pub const IPPROTO_CBT: IPPROTO = 7i32;
|
||||
|
@ -2742,6 +2870,11 @@ pub struct IPV6_MREQ {
|
|||
pub ipv6mr_multiaddr: IN6_ADDR,
|
||||
pub ipv6mr_interface: u32,
|
||||
}
|
||||
impl Default for IPV6_MREQ {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const IPV6_MULTICAST_LOOP: i32 = 11i32;
|
||||
pub const IPV6_V6ONLY: i32 = 27i32;
|
||||
pub const IP_ADD_MEMBERSHIP: i32 = 12i32;
|
||||
|
@ -2752,11 +2885,16 @@ pub struct IP_MREQ {
|
|||
pub imr_multiaddr: IN_ADDR,
|
||||
pub imr_interface: IN_ADDR,
|
||||
}
|
||||
impl Default for IP_MREQ {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const IP_MULTICAST_LOOP: i32 = 11i32;
|
||||
pub const IP_MULTICAST_TTL: i32 = 10i32;
|
||||
pub const IP_TTL: i32 = 4i32;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct LINGER {
|
||||
pub l_onoff: u16,
|
||||
pub l_linger: u16,
|
||||
|
@ -2797,7 +2935,7 @@ pub type LPWSAOVERLAPPED_COMPLETION_ROUTINE = Option<
|
|||
),
|
||||
>;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct M128A {
|
||||
pub Low: u64,
|
||||
pub High: i64,
|
||||
|
@ -2838,6 +2976,11 @@ pub struct OBJECT_ATTRIBUTES {
|
|||
pub SecurityDescriptor: *const SECURITY_DESCRIPTOR,
|
||||
pub SecurityQualityOfService: *const SECURITY_QUALITY_OF_SERVICE,
|
||||
}
|
||||
impl Default for OBJECT_ATTRIBUTES {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub type OBJECT_ATTRIBUTE_FLAGS = u32;
|
||||
pub const OBJ_DONT_REPARSE: OBJECT_ATTRIBUTE_FLAGS = 4096u32;
|
||||
pub const OPEN_ALWAYS: FILE_CREATION_DISPOSITION = 4u32;
|
||||
|
@ -2850,14 +2993,24 @@ pub struct OVERLAPPED {
|
|||
pub Anonymous: OVERLAPPED_0,
|
||||
pub hEvent: HANDLE,
|
||||
}
|
||||
impl Default for OVERLAPPED {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
pub union OVERLAPPED_0 {
|
||||
pub Anonymous: OVERLAPPED_0_0,
|
||||
pub Pointer: *mut core::ffi::c_void,
|
||||
}
|
||||
impl Default for OVERLAPPED_0 {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct OVERLAPPED_0_0 {
|
||||
pub Offset: u32,
|
||||
pub OffsetHigh: u32,
|
||||
|
@ -2895,6 +3048,11 @@ pub struct PROCESS_INFORMATION {
|
|||
pub dwProcessId: u32,
|
||||
pub dwThreadId: u32,
|
||||
}
|
||||
impl Default for PROCESS_INFORMATION {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const PROCESS_MODE_BACKGROUND_BEGIN: PROCESS_CREATION_FLAGS = 1048576u32;
|
||||
pub const PROCESS_MODE_BACKGROUND_END: PROCESS_CREATION_FLAGS = 2097152u32;
|
||||
pub const PROFILE_KERNEL: PROCESS_CREATION_FLAGS = 536870912u32;
|
||||
|
@ -2926,6 +3084,11 @@ pub struct SECURITY_ATTRIBUTES {
|
|||
pub lpSecurityDescriptor: *mut core::ffi::c_void,
|
||||
pub bInheritHandle: BOOL,
|
||||
}
|
||||
impl Default for SECURITY_ATTRIBUTES {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const SECURITY_CONTEXT_TRACKING: FILE_FLAGS_AND_ATTRIBUTES = 262144u32;
|
||||
pub const SECURITY_DELEGATION: FILE_FLAGS_AND_ATTRIBUTES = 196608u32;
|
||||
#[repr(C)]
|
||||
|
@ -2939,13 +3102,18 @@ pub struct SECURITY_DESCRIPTOR {
|
|||
pub Sacl: *mut ACL,
|
||||
pub Dacl: *mut ACL,
|
||||
}
|
||||
impl Default for SECURITY_DESCRIPTOR {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub type SECURITY_DESCRIPTOR_CONTROL = u16;
|
||||
pub const SECURITY_EFFECTIVE_ONLY: FILE_FLAGS_AND_ATTRIBUTES = 524288u32;
|
||||
pub const SECURITY_IDENTIFICATION: FILE_FLAGS_AND_ATTRIBUTES = 65536u32;
|
||||
pub const SECURITY_IMPERSONATION: FILE_FLAGS_AND_ATTRIBUTES = 131072u32;
|
||||
pub type SECURITY_IMPERSONATION_LEVEL = i32;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct SECURITY_QUALITY_OF_SERVICE {
|
||||
pub Length: u32,
|
||||
pub ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
|
||||
|
@ -2962,6 +3130,11 @@ pub struct SOCKADDR {
|
|||
pub sa_family: ADDRESS_FAMILY,
|
||||
pub sa_data: [i8; 14],
|
||||
}
|
||||
impl Default for SOCKADDR {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
pub struct SOCKADDR_STORAGE {
|
||||
|
@ -2970,12 +3143,22 @@ pub struct SOCKADDR_STORAGE {
|
|||
pub __ss_align: i64,
|
||||
pub __ss_pad2: [i8; 112],
|
||||
}
|
||||
impl Default for SOCKADDR_STORAGE {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
pub struct SOCKADDR_UN {
|
||||
pub sun_family: ADDRESS_FAMILY,
|
||||
pub sun_path: [i8; 108],
|
||||
}
|
||||
impl Default for SOCKADDR_UN {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub type SOCKET = usize;
|
||||
pub const SOCKET_ERROR: i32 = -1i32;
|
||||
pub const SOCK_DGRAM: WINSOCK_SOCKET_TYPE = 2i32;
|
||||
|
@ -2995,6 +3178,11 @@ pub const SPECIFIC_RIGHTS_ALL: FILE_ACCESS_RIGHTS = 65535u32;
|
|||
pub struct SRWLOCK {
|
||||
pub Ptr: *mut core::ffi::c_void,
|
||||
}
|
||||
impl Default for SRWLOCK {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const STACK_SIZE_PARAM_IS_A_RESERVATION: THREAD_CREATION_FLAGS = 65536u32;
|
||||
pub const STANDARD_RIGHTS_ALL: FILE_ACCESS_RIGHTS = 2031616u32;
|
||||
pub const STANDARD_RIGHTS_EXECUTE: FILE_ACCESS_RIGHTS = 131072u32;
|
||||
|
@ -3021,6 +3209,11 @@ pub struct STARTUPINFOEXW {
|
|||
pub StartupInfo: STARTUPINFOW,
|
||||
pub lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST,
|
||||
}
|
||||
impl Default for STARTUPINFOEXW {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
pub struct STARTUPINFOW {
|
||||
|
@ -3043,6 +3236,11 @@ pub struct STARTUPINFOW {
|
|||
pub hStdOutput: HANDLE,
|
||||
pub hStdError: HANDLE,
|
||||
}
|
||||
impl Default for STARTUPINFOW {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub type STARTUPINFOW_FLAGS = u32;
|
||||
pub const STATUS_DELETE_PENDING: NTSTATUS = 0xC0000056_u32 as _;
|
||||
pub const STATUS_DIRECTORY_NOT_EMPTY: NTSTATUS = 0xC0000101_u32 as _;
|
||||
|
@ -3078,14 +3276,24 @@ pub struct SYSTEM_INFO {
|
|||
pub wProcessorLevel: u16,
|
||||
pub wProcessorRevision: u16,
|
||||
}
|
||||
impl Default for SYSTEM_INFO {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
pub union SYSTEM_INFO_0 {
|
||||
pub dwOemId: u32,
|
||||
pub Anonymous: SYSTEM_INFO_0_0,
|
||||
}
|
||||
impl Default for SYSTEM_INFO_0 {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct SYSTEM_INFO_0_0 {
|
||||
pub wProcessorArchitecture: PROCESSOR_ARCHITECTURE,
|
||||
pub wReserved: u16,
|
||||
|
@ -3097,7 +3305,7 @@ pub type THREAD_CREATION_FLAGS = u32;
|
|||
pub const TIMER_ALL_ACCESS: SYNCHRONIZATION_ACCESS_RIGHTS = 2031619u32;
|
||||
pub const TIMER_MODIFY_STATE: SYNCHRONIZATION_ACCESS_RIGHTS = 2u32;
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Default)]
|
||||
pub struct TIMEVAL {
|
||||
pub tv_sec: i32,
|
||||
pub tv_usec: i32,
|
||||
|
@ -3134,6 +3342,11 @@ pub struct UNICODE_STRING {
|
|||
pub MaximumLength: u16,
|
||||
pub Buffer: PWSTR,
|
||||
}
|
||||
impl Default for UNICODE_STRING {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const VOLUME_NAME_DOS: GETFINALPATHNAMEBYHANDLE_FLAGS = 0u32;
|
||||
pub const VOLUME_NAME_GUID: GETFINALPATHNAMEBYHANDLE_FLAGS = 1u32;
|
||||
pub const VOLUME_NAME_NONE: GETFINALPATHNAMEBYHANDLE_FLAGS = 4u32;
|
||||
|
@ -3160,6 +3373,11 @@ pub struct WIN32_FIND_DATAW {
|
|||
pub cFileName: [u16; 260],
|
||||
pub cAlternateFileName: [u16; 14],
|
||||
}
|
||||
impl Default for WIN32_FIND_DATAW {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub type WINSOCK_SHUTDOWN_HOW = i32;
|
||||
pub type WINSOCK_SOCKET_TYPE = i32;
|
||||
pub const WRITE_DAC: FILE_ACCESS_RIGHTS = 262144u32;
|
||||
|
@ -3171,6 +3389,11 @@ pub struct WSABUF {
|
|||
pub len: u32,
|
||||
pub buf: PSTR,
|
||||
}
|
||||
impl Default for WSABUF {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(target_arch = "x86")]
|
||||
#[derive(Clone, Copy)]
|
||||
|
@ -3183,6 +3406,12 @@ pub struct WSADATA {
|
|||
pub iMaxUdpDg: u16,
|
||||
pub lpVendorInfo: PSTR,
|
||||
}
|
||||
#[cfg(target_arch = "x86")]
|
||||
impl Default for WSADATA {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
#[derive(Clone, Copy)]
|
||||
|
@ -3195,6 +3424,12 @@ pub struct WSADATA {
|
|||
pub szDescription: [i8; 257],
|
||||
pub szSystemStatus: [i8; 129],
|
||||
}
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Default for WSADATA {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const WSAEACCES: WSA_ERROR = 10013i32;
|
||||
pub const WSAEADDRINUSE: WSA_ERROR = 10048i32;
|
||||
pub const WSAEADDRNOTAVAIL: WSA_ERROR = 10049i32;
|
||||
|
@ -3255,6 +3490,11 @@ pub struct WSAPROTOCOLCHAIN {
|
|||
pub ChainLen: i32,
|
||||
pub ChainEntries: [u32; 7],
|
||||
}
|
||||
impl Default for WSAPROTOCOLCHAIN {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Clone, Copy)]
|
||||
pub struct WSAPROTOCOL_INFOW {
|
||||
|
@ -3279,6 +3519,11 @@ pub struct WSAPROTOCOL_INFOW {
|
|||
pub dwProviderReserved: u32,
|
||||
pub szProtocol: [u16; 256],
|
||||
}
|
||||
impl Default for WSAPROTOCOL_INFOW {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
pub const WSASERVICE_NOT_FOUND: WSA_ERROR = 10108i32;
|
||||
pub const WSASYSCALLFAILURE: WSA_ERROR = 10107i32;
|
||||
pub const WSASYSNOTREADY: WSA_ERROR = 10091i32;
|
||||
|
@ -3348,6 +3593,12 @@ pub struct XSAVE_FORMAT {
|
|||
pub XmmRegisters: [M128A; 8],
|
||||
pub Reserved4: [u8; 224],
|
||||
}
|
||||
#[cfg(target_arch = "x86")]
|
||||
impl Default for XSAVE_FORMAT {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
#[derive(Clone, Copy)]
|
||||
|
@ -3369,6 +3620,12 @@ pub struct XSAVE_FORMAT {
|
|||
pub XmmRegisters: [M128A; 16],
|
||||
pub Reserved4: [u8; 96],
|
||||
}
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "x86_64"))]
|
||||
impl Default for XSAVE_FORMAT {
|
||||
fn default() -> Self {
|
||||
unsafe { core::mem::zeroed() }
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(target_arch = "arm")]
|
||||
#[repr(C)]
|
||||
|
|
|
@ -1676,6 +1676,7 @@ impl fmt::Debug for Thread {
|
|||
/// [`Result`]: crate::result::Result
|
||||
/// [`std::panic::resume_unwind`]: crate::panic::resume_unwind
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[cfg_attr(not(bootstrap), doc(search_unbox))]
|
||||
pub type Result<T> = crate::result::Result<T, Box<dyn Any + Send + 'static>>;
|
||||
|
||||
// This packet is used to communicate the return value between the spawned
|
||||
|
|
|
@ -32,7 +32,6 @@ pub static CRATES: &[&str] = &[
|
|||
"mime_guess",
|
||||
"minimal-lexical",
|
||||
"nom",
|
||||
"num-conv",
|
||||
"once_cell",
|
||||
"pest",
|
||||
"pest_generator",
|
||||
|
@ -50,7 +49,6 @@ pub static CRATES: &[&str] = &[
|
|||
"syn",
|
||||
"synstructure",
|
||||
"thiserror",
|
||||
"time-core",
|
||||
"tinystr",
|
||||
"type-map",
|
||||
"typenum",
|
||||
|
|
|
@ -4,4 +4,4 @@ version = "0.1.0"
|
|||
edition = "2021"
|
||||
|
||||
[dependencies.windows-bindgen]
|
||||
version = "0.59.0"
|
||||
version = "0.61.0"
|
||||
|
|
|
@ -269,7 +269,6 @@ const PERMITTED_RUSTC_DEPENDENCIES: &[&str] = &[
|
|||
"darling_core",
|
||||
"darling_macro",
|
||||
"datafrog",
|
||||
"deranged",
|
||||
"derive-where",
|
||||
"derive_setters",
|
||||
"digest",
|
||||
|
@ -310,6 +309,8 @@ const PERMITTED_RUSTC_DEPENDENCIES: &[&str] = &[
|
|||
"intl_pluralrules",
|
||||
"itertools",
|
||||
"itoa",
|
||||
"jiff",
|
||||
"jiff-static",
|
||||
"jobserver",
|
||||
"lazy_static",
|
||||
"leb128",
|
||||
|
@ -327,7 +328,6 @@ const PERMITTED_RUSTC_DEPENDENCIES: &[&str] = &[
|
|||
"miniz_oxide",
|
||||
"nix",
|
||||
"nu-ansi-term",
|
||||
"num-conv",
|
||||
"num_cpus",
|
||||
"object",
|
||||
"odht",
|
||||
|
@ -340,7 +340,7 @@ const PERMITTED_RUSTC_DEPENDENCIES: &[&str] = &[
|
|||
"pin-project-lite",
|
||||
"polonius-engine",
|
||||
"portable-atomic", // dependency for platforms doesn't support `AtomicU64` in std
|
||||
"powerfmt",
|
||||
"portable-atomic-util",
|
||||
"ppv-lite86",
|
||||
"proc-macro-hack",
|
||||
"proc-macro2",
|
||||
|
@ -393,9 +393,6 @@ const PERMITTED_RUSTC_DEPENDENCIES: &[&str] = &[
|
|||
"thorin-dwp",
|
||||
"thread_local",
|
||||
"tikv-jemalloc-sys",
|
||||
"time",
|
||||
"time-core",
|
||||
"time-macros",
|
||||
"tinystr",
|
||||
"tinyvec",
|
||||
"tinyvec_macros",
|
||||
|
|
20
tests/rustdoc-js-std/unbox-type-result.js
Normal file
20
tests/rustdoc-js-std/unbox-type-result.js
Normal file
|
@ -0,0 +1,20 @@
|
|||
// exact-check
|
||||
|
||||
// Test case for https://github.com/rust-lang/rust/issues/139665
|
||||
// make sure that std::io::Result and std::thread::Result get unboxed
|
||||
|
||||
const EXPECTED = [
|
||||
{
|
||||
query: "File -> Metadata",
|
||||
others: [
|
||||
{ path: "std::fs::File", name: "metadata" },
|
||||
{ path: "std::fs::File", name: "metadata_at" },
|
||||
]
|
||||
},
|
||||
{
|
||||
query: "JoinHandle<T> -> T",
|
||||
others: [
|
||||
{ path: "std::thread::JoinHandle", name: "join" },
|
||||
]
|
||||
},
|
||||
];
|
|
@ -31,4 +31,10 @@ const EXPECTED = [
|
|||
{ 'path': 'generics_unbox', 'name': 'beta' },
|
||||
],
|
||||
},
|
||||
{
|
||||
'query': '-> Sigma',
|
||||
'others': [
|
||||
{ 'path': 'generics_unbox', 'name': 'delta' },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
|
|
@ -42,3 +42,15 @@ pub fn beta<T, U>(_: Inside<T>) -> Out<Out3<T, U>, Out4<U, T>> {
|
|||
pub fn gamma<T, U>(_: Inside<T>) -> Out<Out3<U, T>, Out4<T, U>> {
|
||||
loop {}
|
||||
}
|
||||
|
||||
pub fn delta(_: i32) -> Epsilon<Sigma> {
|
||||
loop {}
|
||||
}
|
||||
|
||||
#[doc(search_unbox)]
|
||||
pub struct Theta<T>(T);
|
||||
|
||||
#[doc(search_unbox)]
|
||||
pub type Epsilon<T> = Theta<T>;
|
||||
|
||||
pub struct Sigma;
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
# UI Tests
|
||||
|
||||
This folder contains `rustc`'s
|
||||
[UI tests](https://rustc-dev-guide.rust-lang.org/tests/ui.html).
|
||||
|
||||
## Test Directives (Headers)
|
||||
|
||||
Typically, a UI test will have some test directives / headers which are
|
||||
special comments that tell compiletest how to build and interpret a test.
|
||||
|
||||
As part of an ongoing effort to rewrite compiletest
|
||||
(see <https://github.com/rust-lang/compiler-team/issues/536>), a major
|
||||
change proposal to change legacy compiletest-style headers `// <directive>`
|
||||
to [`ui_test`](https://github.com/oli-obk/ui_test)-style headers
|
||||
`//@ <directive>` was accepted (see
|
||||
<https://github.com/rust-lang/compiler-team/issues/512>.
|
||||
|
||||
An example directive is `ignore-test`. In legacy compiletest style, the header
|
||||
would be written as
|
||||
|
||||
```rs
|
||||
// ignore-test
|
||||
```
|
||||
|
||||
but in `ui_test` style, the header would be written as
|
||||
|
||||
```rs
|
||||
//@ ignore-test
|
||||
```
|
||||
|
||||
compiletest is changed to accept only `//@` directives for UI tests
|
||||
(currently), and will reject and report an error if it encounters any
|
||||
comments `// <content>` that may be parsed as a legacy compiletest-style
|
||||
test header. To fix this, you should migrate to the `ui_test`-style header
|
||||
`//@ <content>`.
|
|
@ -1,2 +1,2 @@
|
|||
//! Not used by compiler, this is used by bootstrap cli self-test.
|
||||
//@ ignore-test
|
||||
//@ ignore-test (used by bootstrap)
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
//! Not used by compiler, used by bootstrap cli self-test.
|
||||
//@ ignore-test
|
||||
//@ ignore-test (used by bootstrap)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
//@ ignore-test
|
||||
//@ ignore-test (auxiliary)
|
||||
|
||||
// Companion to allow-in-other-module.rs
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
//@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
|
||||
//@ error-pattern: unsafe precondition(s) violated: ptr::read requires
|
||||
//@ revisions: null misaligned
|
||||
//@ ignore-test
|
||||
//@ ignore-test (unimplemented)
|
||||
|
||||
use std::ptr;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
//@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
|
||||
//@ error-pattern: unsafe precondition(s) violated: ptr::write requires
|
||||
//@ revisions: null misaligned
|
||||
//@ ignore-test
|
||||
//@ ignore-test (unimplemented)
|
||||
|
||||
use std::ptr;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
//@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
|
||||
//@ error-pattern: unsafe precondition(s) violated: ptr::write requires
|
||||
//@ revisions: null misaligned
|
||||
//@ ignore-test
|
||||
//@ ignore-test (unimplemented)
|
||||
|
||||
use std::ptr;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
//@ compile-flags: -Znext-solver
|
||||
//@ ignore-test
|
||||
//@ ignore-test (see #114196)
|
||||
|
||||
trait Trait {
|
||||
type Gat<'lt>;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue