From f31b44e81deb651aec126a3fb3c552b923250282 Mon Sep 17 00:00:00 2001 From: Kenny Kerr Date: Fri, 21 Jul 2023 10:19:38 -0500 Subject: [PATCH] Prefer explicit casts (#2582) --- crates/libs/core/src/event.rs | 4 +- crates/libs/core/src/hresult.rs | 4 +- crates/libs/core/src/imp/ref_count.rs | 2 +- crates/libs/core/src/imp/weak_ref_count.rs | 6 +- crates/libs/core/src/strings/bstr.rs | 2 +- crates/libs/metadata/src/blob.rs | 2 +- crates/libs/metadata/src/codes.rs | 16 +-- crates/libs/metadata/src/file/mod.rs | 10 +- crates/libs/metadata/src/file/reader.rs | 16 +-- crates/libs/metadata/src/lib.rs | 20 ++-- crates/libs/metadata/src/row.rs | 4 +- crates/libs/metadata/src/type.rs | 2 +- .../src/Windows/Devices/I2c/Provider/impl.rs | 12 +- .../windows/src/Windows/Devices/Sms/impl.rs | 2 +- .../src/Windows/Devices/Spi/Provider/impl.rs | 8 +- .../Windows/Foundation/Collections/impl.rs | 22 ++-- .../src/Windows/Gaming/Input/Custom/impl.rs | 6 +- .../Media/Protection/PlayReady/impl.rs | 22 ++-- .../src/Windows/Networking/Vpn/impl.rs | 2 +- .../src/Windows/Storage/Streams/impl.rs | 4 +- .../Windows/System/RemoteDesktop/Input/mod.rs | 2 +- .../src/Windows/UI/UIAutomation/Core/impl.rs | 2 +- .../src/Windows/Win32/Foundation/mod.rs | 2 +- .../windows-sys/privileges/src/main.rs | 4 +- .../windows/data_protection/src/main.rs | 5 +- crates/samples/windows/dcomp/src/main.rs | 26 ++--- .../samples/windows/memory_buffer/src/main.rs | 2 +- crates/samples/windows/privileges/src/main.rs | 4 +- crates/tests/bcrypt/tests/sys.rs | 33 +++--- crates/tests/bcrypt/tests/win.rs | 6 +- crates/tests/calling_convention/tests/sys.rs | 8 +- crates/tests/component/src/bindings.rs | 14 ++- crates/tests/error/tests/std.rs | 7 +- .../tests/implement/tests/generic_default.rs | 4 +- .../implement/tests/generic_primitive.rs | 4 +- crates/tests/implement/tests/vector.rs | 6 +- crates/tests/interface/tests/com.rs | 10 +- crates/tests/riddle/src/lib.rs | 5 +- crates/tests/riddle/src/nested_module.rs | 64 +++++------ crates/tests/targets/tests/symbol.rs | 7 +- crates/tests/win32/tests/win32.rs | 4 +- crates/tests/win32/tests/winsock.rs | 2 +- crates/tests/win32_arrays/tests/xmllite.rs | 21 ++-- crates/tools/riddle/src/rd/to_winmd.rs | 8 +- .../impl/Foundation/Collections/Iterable.rs | 2 +- .../impl/Foundation/Collections/MapView.rs | 4 +- .../impl/Foundation/Collections/VectorView.rs | 8 +- .../mod/Win32/Foundation/WIN32_ERROR.rs | 2 +- crates/tools/riddle/src/rust/winrt_methods.rs | 4 +- crates/tools/riddle/src/rust/writer.rs | 2 +- crates/tools/riddle/src/winmd/to_winmd.rs | 8 +- crates/tools/riddle/src/winmd/writer/blobs.rs | 16 +-- crates/tools/riddle/src/winmd/writer/file.rs | 37 +++--- crates/tools/riddle/src/winmd/writer/mod.rs | 106 +++++++++--------- .../tools/riddle/src/winmd/writer/strings.rs | 2 +- .../tools/riddle/src/winmd/writer/tables.rs | 40 +++---- .../tools/riddle/src/winmd/writer/traits.rs | 4 +- 57 files changed, 339 insertions(+), 312 deletions(-) diff --git a/crates/libs/core/src/event.rs b/crates/libs/core/src/event.rs index b0fab4669c..eea0683dfc 100644 --- a/crates/libs/core/src/event.rs +++ b/crates/libs/core/src/event.rs @@ -248,8 +248,8 @@ impl Delegate { fn to_token(&self) -> i64 { unsafe { match self { - Self::Direct(delegate) => crate::imp::EncodePointer(std::mem::transmute_copy(delegate)) as _, - Self::Indirect(delegate) => crate::imp::EncodePointer(std::mem::transmute_copy(delegate)) as _, + Self::Direct(delegate) => crate::imp::EncodePointer(std::mem::transmute_copy(delegate)) as i64, + Self::Indirect(delegate) => crate::imp::EncodePointer(std::mem::transmute_copy(delegate)) as i64, } } } diff --git a/crates/libs/core/src/hresult.rs b/crates/libs/core/src/hresult.rs index a62193922d..b69e487f27 100644 --- a/crates/libs/core/src/hresult.rs +++ b/crates/libs/core/src/hresult.rs @@ -85,7 +85,7 @@ impl HRESULT { let mut message = HeapString(std::ptr::null_mut()); unsafe { - let size = crate::imp::FormatMessageW(crate::imp::FORMAT_MESSAGE_ALLOCATE_BUFFER | crate::imp::FORMAT_MESSAGE_FROM_SYSTEM | crate::imp::FORMAT_MESSAGE_IGNORE_INSERTS, std::ptr::null(), self.0 as _, 0, &mut message.0 as *mut _ as *mut _, 0, std::ptr::null()); + let size = crate::imp::FormatMessageW(crate::imp::FORMAT_MESSAGE_ALLOCATE_BUFFER | crate::imp::FORMAT_MESSAGE_FROM_SYSTEM | crate::imp::FORMAT_MESSAGE_IGNORE_INSERTS, std::ptr::null(), self.0 as u32, 0, &mut message.0 as *mut _ as *mut _, 0, std::ptr::null()); HSTRING::from_wide(crate::imp::wide_trim_end(std::slice::from_raw_parts(message.0 as *const u16, size as usize))).unwrap_or_default() } @@ -93,7 +93,7 @@ impl HRESULT { /// Maps a Win32 error code to an HRESULT value. pub(crate) fn from_win32(error: u32) -> Self { - Self(if error == 0 { 0 } else { (error & 0x0000_FFFF) | (7 << 16) | 0x8000_0000 } as _) + Self(if error == 0 { 0 } else { (error & 0x0000_FFFF) | (7 << 16) | 0x8000_0000 } as i32) } } diff --git a/crates/libs/core/src/imp/ref_count.rs b/crates/libs/core/src/imp/ref_count.rs index 4b894626c6..6f179f28ae 100644 --- a/crates/libs/core/src/imp/ref_count.rs +++ b/crates/libs/core/src/imp/ref_count.rs @@ -8,7 +8,7 @@ pub struct RefCount(pub(crate) AtomicI32); impl RefCount { /// Creates a new `RefCount` with an initial value of `1`. pub fn new(count: u32) -> Self { - Self(AtomicI32::new(count as _)) + Self(AtomicI32::new(count as i32)) } /// Increments the reference count, returning the new value. diff --git a/crates/libs/core/src/imp/weak_ref_count.rs b/crates/libs/core/src/imp/weak_ref_count.rs index e10bd1606d..2f28e7f97b 100644 --- a/crates/libs/core/src/imp/weak_ref_count.rs +++ b/crates/libs/core/src/imp/weak_ref_count.rs @@ -43,12 +43,12 @@ impl WeakRefCount { return TearOff::from_encoding(count_or_pointer); } - let tear_off = TearOff::new(object, count_or_pointer as _); + let tear_off = TearOff::new(object, count_or_pointer as u32); let tear_off_ptr: *mut std::ffi::c_void = std::mem::transmute_copy(&tear_off); let encoding: usize = ((tear_off_ptr as usize) >> 1) | (1 << (std::mem::size_of::() * 8 - 1)); loop { - match self.0.compare_exchange_weak(count_or_pointer, encoding as _, Ordering::AcqRel, Ordering::Relaxed) { + match self.0.compare_exchange_weak(count_or_pointer, encoding as isize, Ordering::AcqRel, Ordering::Relaxed) { Ok(_) => { let result: *mut std::ffi::c_void = std::mem::transmute(tear_off); TearOff::from_strong_ptr(result).strong_count.add_ref(); @@ -61,7 +61,7 @@ impl WeakRefCount { return TearOff::from_encoding(count_or_pointer); } - TearOff::from_strong_ptr(tear_off_ptr).strong_count.0.store(count_or_pointer as _, Ordering::SeqCst); + TearOff::from_strong_ptr(tear_off_ptr).strong_count.0.store(count_or_pointer as i32, Ordering::SeqCst); } } } diff --git a/crates/libs/core/src/strings/bstr.rs b/crates/libs/core/src/strings/bstr.rs index 746d073b24..a7cae256c3 100644 --- a/crates/libs/core/src/strings/bstr.rs +++ b/crates/libs/core/src/strings/bstr.rs @@ -42,7 +42,7 @@ impl BSTR { return Ok(Self::new()); } - let result = unsafe { Self(crate::imp::SysAllocStringLen(value.as_ptr(), value.len() as _)) }; + let result = unsafe { Self(crate::imp::SysAllocStringLen(value.as_ptr(), value.len() as u32)) }; if result.is_empty() { Err(crate::imp::E_OUTOFMEMORY.into()) diff --git a/crates/libs/metadata/src/blob.rs b/crates/libs/metadata/src/blob.rs index 8158e81c93..a54336db1d 100644 --- a/crates/libs/metadata/src/blob.rs +++ b/crates/libs/metadata/src/blob.rs @@ -48,7 +48,7 @@ impl<'a> Blob<'a> { let mut mods = vec![]; loop { let (value, offset) = self.peek_usize(); - if value != ELEMENT_TYPE_CMOD_OPT as _ && value != ELEMENT_TYPE_CMOD_REQD as _ { + if value != ELEMENT_TYPE_CMOD_OPT as usize && value != ELEMENT_TYPE_CMOD_REQD as usize { break; } else { self.offset(offset); diff --git a/crates/libs/metadata/src/codes.rs b/crates/libs/metadata/src/codes.rs index a6d60ce195..05c8f4bdfd 100644 --- a/crates/libs/metadata/src/codes.rs +++ b/crates/libs/metadata/src/codes.rs @@ -32,7 +32,7 @@ pub enum HasAttribute { impl HasAttribute { pub fn encode(&self) -> usize { - (match self { + match self { Self::MethodDef(row) => (row.0.row + 1) << 5, Self::Field(row) => ((row.0.row + 1) << 5) | 1, Self::TypeRef(row) => ((row.0.row + 1) << 5) | 2, @@ -42,7 +42,7 @@ impl HasAttribute { Self::MemberRef(row) => ((row.0.row + 1) << 5) | 6, Self::TypeSpec(row) => ((row.0.row + 1) << 5) | 13, Self::GenericParam(row) => ((row.0.row + 1) << 5) | 19, - }) as _ + } } } @@ -53,9 +53,9 @@ pub enum HasConstant { impl HasConstant { pub fn encode(&self) -> usize { - (match self { + match self { Self::Field(row) => (row.0.row + 1) << 2, - }) as _ + } } } @@ -66,9 +66,9 @@ pub enum MemberForwarded { impl MemberForwarded { pub fn encode(&self) -> usize { - (match self { + match self { Self::MethodDef(value) => ((value.0.row + 1) << 1) | 1, - }) as _ + } } } @@ -111,9 +111,9 @@ pub enum TypeOrMethodDef { impl TypeOrMethodDef { pub fn encode(&self) -> usize { - (match self { + match self { Self::TypeDef(value) => (value.0.row + 1) << 1, - }) as _ + } } } diff --git a/crates/libs/metadata/src/file/mod.rs b/crates/libs/metadata/src/file/mod.rs index 2e5ce8b9c1..41a6db920f 100644 --- a/crates/libs/metadata/src/file/mod.rs +++ b/crates/libs/metadata/src/file/mod.rs @@ -26,7 +26,7 @@ impl File { let dos = result.bytes.view_as::(0)?; - if dos.e_magic != IMAGE_DOS_SIGNATURE as _ || result.bytes.copy_as::(dos.e_lfanew as _)? != IMAGE_NT_SIGNATURE { + if dos.e_magic != IMAGE_DOS_SIGNATURE || result.bytes.copy_as::(dos.e_lfanew as usize)? != IMAGE_NT_SIGNATURE { return Err(()); } @@ -47,14 +47,14 @@ impl File { _ => return Err(()), }; - let clr = result.bytes.view_as::(offset_from_rva(section_from_rva(sections, com_virtual_address)?, com_virtual_address) as _)?; + let clr = result.bytes.view_as::(offset_from_rva(section_from_rva(sections, com_virtual_address)?, com_virtual_address))?; - if clr.cb != std::mem::size_of::() as _ { + if clr.cb != std::mem::size_of::() as u32 { return Err(()); } let metadata_offset = offset_from_rva(section_from_rva(sections, clr.MetaData.VirtualAddress)?, clr.MetaData.VirtualAddress); - let metadata = result.bytes.view_as::(metadata_offset as _)?; + let metadata = result.bytes.view_as::(metadata_offset)?; if metadata.signature != METADATA_SIGNATURE { return Err(()); @@ -119,7 +119,7 @@ impl File { continue; } - let len = result.bytes.copy_as::(view)? as _; + let len = result.bytes.copy_as::(view)? as usize; view += 4; match i { diff --git a/crates/libs/metadata/src/file/reader.rs b/crates/libs/metadata/src/file/reader.rs index a74c9378d1..d8ad822f1f 100644 --- a/crates/libs/metadata/src/file/reader.rs +++ b/crates/libs/metadata/src/file/reader.rs @@ -6,7 +6,7 @@ pub trait RowReader<'a> { fn row_usize(&self, row: R, column: usize) -> usize { let file = self.row_file(row); let row = row.to_row(); - file.usize(row.row as _, R::TABLE as _, column) + file.usize(row.row, R::TABLE, column) } fn row_str(&self, row: R, column: usize) -> &'a str { @@ -148,7 +148,7 @@ pub trait RowReader<'a> { // fn field_flags(&self, row: Field) -> FieldAttributes { - FieldAttributes(self.row_usize(row, 0) as _) + FieldAttributes(self.row_usize(row, 0) as u16) } fn field_name(&self, row: Field) -> &'a str { @@ -216,7 +216,7 @@ pub trait RowReader<'a> { } fn method_def_flags(&self, row: MethodDef) -> MethodAttributes { - MethodAttributes(self.row_usize(row, 2) as _) + MethodAttributes(self.row_usize(row, 2) as u16) } fn method_def_name(&self, row: MethodDef) -> &'a str { @@ -269,7 +269,7 @@ pub trait RowReader<'a> { // fn param_flags(&self, row: Param) -> ParamAttributes { - ParamAttributes(self.row_usize(row, 0) as _) + ParamAttributes(self.row_usize(row, 0) as u16) } fn param_sequence(&self, row: Param) -> usize { @@ -289,7 +289,7 @@ pub trait RowReader<'a> { // fn type_def_flags(&self, row: TypeDef) -> TypeAttributes { - TypeAttributes(self.row_usize(row, 0) as _) + TypeAttributes(self.row_usize(row, 0) as u32) } fn type_def_name(&self, row: TypeDef) -> &'a str { @@ -324,15 +324,15 @@ pub trait RowReader<'a> { } fn type_def_interface_impls(&self, row: TypeDef) -> RowIterator { - self.row_equal_range(row, 0, (row.0.row + 1) as _) + self.row_equal_range(row, 0, row.0.row + 1) } fn type_def_enclosing_type(&self, row: TypeDef) -> Option { - self.row_equal_range::(row, 0, (row.0.row + 1) as _).next().map(|row| TypeDef(Row::new(self.row_usize(row, 1) - 1, row.file()))) + self.row_equal_range::(row, 0, row.0.row + 1).next().map(|row| TypeDef(Row::new(self.row_usize(row, 1) - 1, row.file()))) } fn type_def_class_layout(&self, row: TypeDef) -> Option { - self.row_equal_range(row, 2, (row.0.row + 1) as _).next() + self.row_equal_range(row, 2, row.0.row + 1).next() } fn type_def_is_scoped(&self, row: TypeDef) -> bool { diff --git a/crates/libs/metadata/src/lib.rs b/crates/libs/metadata/src/lib.rs index e28d0a2d97..e8035a761f 100644 --- a/crates/libs/metadata/src/lib.rs +++ b/crates/libs/metadata/src/lib.rs @@ -293,7 +293,7 @@ impl<'a> Reader<'a> { let _id = values.read_u8(); let arg_type = values.read_u8(); let mut name = values.read_str().to_string(); - let arg = match arg_type as _ { + let arg = match arg_type { ELEMENT_TYPE_BOOLEAN => Value::Bool(values.read_bool()), ELEMENT_TYPE_I2 => Value::I16(values.read_i16()), ELEMENT_TYPE_I4 => Value::I32(values.read_i32()), @@ -447,7 +447,7 @@ impl<'a> Reader<'a> { } pub fn method_def_signature(&self, namespace: &str, row: MethodDef, generics: &[Type]) -> Signature { let mut blob = self.row_blob(row, 4); - let call_flags = MethodCallAttributes(blob.read_usize() as _); + let call_flags = MethodCallAttributes(blob.read_usize() as u8); let _param_count = blob.read_usize(); let mut return_type = self.type_from_blob(&mut blob, None, generics); @@ -635,8 +635,8 @@ impl<'a> Reader<'a> { "NativeArrayInfoAttribute" => { for (_, value) in self.attribute_args(attribute) { match value { - Value::I16(value) => return SignatureParamKind::ArrayRelativeLen(value as _), - Value::I32(value) => return SignatureParamKind::ArrayFixed(value as _), + Value::I16(value) => return SignatureParamKind::ArrayRelativeLen(value as usize), + Value::I32(value) => return SignatureParamKind::ArrayFixed(value as usize), _ => {} } } @@ -644,7 +644,7 @@ impl<'a> Reader<'a> { "MemorySizeAttribute" => { for (_, value) in self.attribute_args(attribute) { if let Value::I16(value) = value { - return SignatureParamKind::ArrayRelativeByteLen(value as _); + return SignatureParamKind::ArrayRelativeByteLen(value as usize); } } } @@ -1527,17 +1527,17 @@ impl<'a> Reader<'a> { // Used by WinRT to indicate an output parameter, but there are other ways to determine this direction so here // it is only used to distinguish between slices and heap-allocated arrays. - let is_ref = blob.read_expected(ELEMENT_TYPE_BYREF as _); + let is_ref = blob.read_expected(ELEMENT_TYPE_BYREF as usize); - if blob.read_expected(ELEMENT_TYPE_VOID as _) { + if blob.read_expected(ELEMENT_TYPE_VOID as usize) { return Type::Void; } - let is_array = blob.read_expected(ELEMENT_TYPE_SZARRAY as _); // Used by WinRT to indicate an array + let is_array = blob.read_expected(ELEMENT_TYPE_SZARRAY as usize); // Used by WinRT to indicate an array let mut pointers = 0; - while blob.read_expected(ELEMENT_TYPE_PTR as _) { + while blob.read_expected(ELEMENT_TYPE_PTR as usize) { pointers += 1; } @@ -1564,7 +1564,7 @@ impl<'a> Reader<'a> { return code; } - match code as _ { + match code as u8 { ELEMENT_TYPE_VALUETYPE | ELEMENT_TYPE_CLASS => self.type_from_ref(TypeDefOrRef::decode(blob.file, blob.read_usize()), enclosing, generics), ELEMENT_TYPE_VAR => generics.get(blob.read_usize()).unwrap_or(&Type::Void).clone(), ELEMENT_TYPE_ARRAY => { diff --git a/crates/libs/metadata/src/row.rs b/crates/libs/metadata/src/row.rs index a97b6db9b8..4e0c30593a 100644 --- a/crates/libs/metadata/src/row.rs +++ b/crates/libs/metadata/src/row.rs @@ -6,7 +6,7 @@ pub struct Row { impl Row { pub fn new(row: usize, file: usize) -> Self { - Self { row: row as _, file: file as _ } + Self { row, file } } fn next(&self) -> Self { @@ -48,7 +48,7 @@ impl Iterator for RowIterator { type Item = R; fn next(&mut self) -> Option { - self.rows.next().map(|row| R::from_row(Row::new(row, self.file as _))) + self.rows.next().map(|row| R::from_row(Row::new(row, self.file))) } } diff --git a/crates/libs/metadata/src/type.rs b/crates/libs/metadata/src/type.rs index f64004d901..7d6f58f6cf 100644 --- a/crates/libs/metadata/src/type.rs +++ b/crates/libs/metadata/src/type.rs @@ -44,7 +44,7 @@ impl Type { /// Creates a `Type` object from an `ELEMENT_TYPE` (see ECMA-335) type constant, typically /// used to indicate the type of a constant or primitive type signature. pub fn from_code(code: usize) -> Option { - match code as _ { + match code as u8 { ELEMENT_TYPE_VOID => Some(Self::Void), ELEMENT_TYPE_BOOLEAN => Some(Self::Bool), ELEMENT_TYPE_CHAR => Some(Self::Char), diff --git a/crates/libs/windows/src/Windows/Devices/I2c/Provider/impl.rs b/crates/libs/windows/src/Windows/Devices/I2c/Provider/impl.rs index 8853e25d22..1edb3a142f 100644 --- a/crates/libs/windows/src/Windows/Devices/I2c/Provider/impl.rs +++ b/crates/libs/windows/src/Windows/Devices/I2c/Provider/impl.rs @@ -63,12 +63,12 @@ impl II2cDeviceProvider_Vtbl { unsafe extern "system" fn Write, Impl: II2cDeviceProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer_array_size: u32, buffer: *const u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.Write(::core::slice::from_raw_parts(::core::mem::transmute_copy(&buffer), buffer_array_size as _)).into() + this.Write(::core::slice::from_raw_parts(::core::mem::transmute_copy(&buffer), buffer_array_size as usize)).into() } unsafe extern "system" fn WritePartial, Impl: II2cDeviceProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer_array_size: u32, buffer: *const u8, result__: *mut ProviderI2cTransferResult) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - match this.WritePartial(::core::slice::from_raw_parts(::core::mem::transmute_copy(&buffer), buffer_array_size as _)) { + match this.WritePartial(::core::slice::from_raw_parts(::core::mem::transmute_copy(&buffer), buffer_array_size as usize)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::windows_core::HRESULT(0) @@ -79,12 +79,12 @@ impl II2cDeviceProvider_Vtbl { unsafe extern "system" fn Read, Impl: II2cDeviceProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer_array_size: u32, buffer: *mut u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.Read(::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&buffer), buffer_array_size as _)).into() + this.Read(::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&buffer), buffer_array_size as usize)).into() } unsafe extern "system" fn ReadPartial, Impl: II2cDeviceProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer_array_size: u32, buffer: *mut u8, result__: *mut ProviderI2cTransferResult) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - match this.ReadPartial(::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&buffer), buffer_array_size as _)) { + match this.ReadPartial(::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&buffer), buffer_array_size as usize)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::windows_core::HRESULT(0) @@ -95,12 +95,12 @@ impl II2cDeviceProvider_Vtbl { unsafe extern "system" fn WriteRead, Impl: II2cDeviceProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, writeBuffer_array_size: u32, writebuffer: *const u8, readBuffer_array_size: u32, readbuffer: *mut u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.WriteRead(::core::slice::from_raw_parts(::core::mem::transmute_copy(&writebuffer), writeBuffer_array_size as _), ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&readbuffer), readBuffer_array_size as _)).into() + this.WriteRead(::core::slice::from_raw_parts(::core::mem::transmute_copy(&writebuffer), writeBuffer_array_size as usize), ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&readbuffer), readBuffer_array_size as usize)).into() } unsafe extern "system" fn WriteReadPartial, Impl: II2cDeviceProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, writeBuffer_array_size: u32, writebuffer: *const u8, readBuffer_array_size: u32, readbuffer: *mut u8, result__: *mut ProviderI2cTransferResult) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - match this.WriteReadPartial(::core::slice::from_raw_parts(::core::mem::transmute_copy(&writebuffer), writeBuffer_array_size as _), ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&readbuffer), readBuffer_array_size as _)) { + match this.WriteReadPartial(::core::slice::from_raw_parts(::core::mem::transmute_copy(&writebuffer), writeBuffer_array_size as usize), ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&readbuffer), readBuffer_array_size as usize)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::windows_core::HRESULT(0) diff --git a/crates/libs/windows/src/Windows/Devices/Sms/impl.rs b/crates/libs/windows/src/Windows/Devices/Sms/impl.rs index 2c0fc29674..08c20c6ad4 100644 --- a/crates/libs/windows/src/Windows/Devices/Sms/impl.rs +++ b/crates/libs/windows/src/Windows/Devices/Sms/impl.rs @@ -47,7 +47,7 @@ impl ISmsBinaryMessage_Vtbl { unsafe extern "system" fn SetData, Impl: ISmsBinaryMessage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value_array_size: u32, value: *const u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.SetData(::core::slice::from_raw_parts(::core::mem::transmute_copy(&value), value_array_size as _)).into() + this.SetData(::core::slice::from_raw_parts(::core::mem::transmute_copy(&value), value_array_size as usize)).into() } Self { base__: ::windows_core::IInspectable_Vtbl::new::(), diff --git a/crates/libs/windows/src/Windows/Devices/Spi/Provider/impl.rs b/crates/libs/windows/src/Windows/Devices/Spi/Provider/impl.rs index f2c1dd6b37..3a6979406f 100644 --- a/crates/libs/windows/src/Windows/Devices/Spi/Provider/impl.rs +++ b/crates/libs/windows/src/Windows/Devices/Spi/Provider/impl.rs @@ -74,22 +74,22 @@ impl ISpiDeviceProvider_Vtbl { unsafe extern "system" fn Write, Impl: ISpiDeviceProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer_array_size: u32, buffer: *const u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.Write(::core::slice::from_raw_parts(::core::mem::transmute_copy(&buffer), buffer_array_size as _)).into() + this.Write(::core::slice::from_raw_parts(::core::mem::transmute_copy(&buffer), buffer_array_size as usize)).into() } unsafe extern "system" fn Read, Impl: ISpiDeviceProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer_array_size: u32, buffer: *mut u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.Read(::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&buffer), buffer_array_size as _)).into() + this.Read(::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&buffer), buffer_array_size as usize)).into() } unsafe extern "system" fn TransferSequential, Impl: ISpiDeviceProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, writeBuffer_array_size: u32, writebuffer: *const u8, readBuffer_array_size: u32, readbuffer: *mut u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.TransferSequential(::core::slice::from_raw_parts(::core::mem::transmute_copy(&writebuffer), writeBuffer_array_size as _), ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&readbuffer), readBuffer_array_size as _)).into() + this.TransferSequential(::core::slice::from_raw_parts(::core::mem::transmute_copy(&writebuffer), writeBuffer_array_size as usize), ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&readbuffer), readBuffer_array_size as usize)).into() } unsafe extern "system" fn TransferFullDuplex, Impl: ISpiDeviceProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, writeBuffer_array_size: u32, writebuffer: *const u8, readBuffer_array_size: u32, readbuffer: *mut u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.TransferFullDuplex(::core::slice::from_raw_parts(::core::mem::transmute_copy(&writebuffer), writeBuffer_array_size as _), ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&readbuffer), readBuffer_array_size as _)).into() + this.TransferFullDuplex(::core::slice::from_raw_parts(::core::mem::transmute_copy(&writebuffer), writeBuffer_array_size as usize), ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&readbuffer), readBuffer_array_size as usize)).into() } Self { base__: ::windows_core::IInspectable_Vtbl::new::(), diff --git a/crates/libs/windows/src/Windows/Foundation/Collections/impl.rs b/crates/libs/windows/src/Windows/Foundation/Collections/impl.rs index 75d74b20f2..f65e37ea2b 100644 --- a/crates/libs/windows/src/Windows/Foundation/Collections/impl.rs +++ b/crates/libs/windows/src/Windows/Foundation/Collections/impl.rs @@ -86,7 +86,7 @@ impl IIterator_Vtbl { unsafe extern "system" fn GetMany, Impl: IIterator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, items_array_size: u32, items: *mut ::windows_core::AbiType, result__: *mut u32) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - match this.GetMany(::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&items), items_array_size as _)) { + match this.GetMany(::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&items), items_array_size as usize)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::windows_core::HRESULT(0) @@ -573,7 +573,7 @@ impl IVector_Vtbl { unsafe extern "system" fn GetMany, Impl: IVector_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startindex: u32, items_array_size: u32, items: *mut ::windows_core::AbiType, result__: *mut u32) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - match this.GetMany(startindex, ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&items), items_array_size as _)) { + match this.GetMany(startindex, ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&items), items_array_size as usize)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::windows_core::HRESULT(0) @@ -584,7 +584,7 @@ impl IVector_Vtbl { unsafe extern "system" fn ReplaceAll, Impl: IVector_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, items_array_size: u32, items: *const ::windows_core::AbiType) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.ReplaceAll(::core::slice::from_raw_parts(::core::mem::transmute_copy(&items), items_array_size as _)).into() + this.ReplaceAll(::core::slice::from_raw_parts(::core::mem::transmute_copy(&items), items_array_size as usize)).into() } Self { base__: ::windows_core::IInspectable_Vtbl::new::, OFFSET>(), @@ -701,7 +701,7 @@ impl IVectorView_Vtbl { unsafe extern "system" fn GetMany, Impl: IVectorView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, startindex: u32, items_array_size: u32, items: *mut ::windows_core::AbiType, result__: *mut u32) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - match this.GetMany(startindex, ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&items), items_array_size as _)) { + match this.GetMany(startindex, ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&items), items_array_size as usize)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::windows_core::HRESULT(0) @@ -797,7 +797,7 @@ where let (values, _) = values.split_at_mut(actual); values.clone_from_slice(&owner.values[current..current + actual]); self.current.fetch_add(actual, ::std::sync::atomic::Ordering::Relaxed); - Ok(actual as _) + Ok(actual as u32) } } @@ -851,7 +851,7 @@ where V::from_default(value) } fn Size(&self) -> ::windows_core::Result { - Ok(self.map.len() as _) + Ok(self.map.len() as u32) } fn HasKey(&self, key: &K::Default) -> ::windows_core::Result { Ok(self.map.contains_key(key)) @@ -918,7 +918,7 @@ where } } - Ok(actual as _) + Ok(actual) } } @@ -995,12 +995,12 @@ where T::from_default(item) } fn Size(&self) -> ::windows_core::Result { - Ok(self.values.len() as _) + Ok(self.values.len() as u32) } fn IndexOf(&self, value: &T::Default, result: &mut u32) -> ::windows_core::Result { match self.values.iter().position(|element| element == value) { Some(index) => { - *result = index as _; + *result = index as u32; Ok(true) } None => Ok(false), @@ -1014,7 +1014,7 @@ where let actual = std::cmp::min(self.values.len() - current, values.len()); let (values, _) = values.split_at_mut(actual); values.clone_from_slice(&self.values[current..current + actual]); - Ok(actual as _) + Ok(actual as u32) } } @@ -1070,7 +1070,7 @@ where let (values, _) = values.split_at_mut(actual); values.clone_from_slice(&owner.values[current..current + actual]); self.current.fetch_add(actual, ::std::sync::atomic::Ordering::Relaxed); - Ok(actual as _) + Ok(actual as u32) } } diff --git a/crates/libs/windows/src/Windows/Gaming/Input/Custom/impl.rs b/crates/libs/windows/src/Windows/Gaming/Input/Custom/impl.rs index cfc3828b31..80e6549481 100644 --- a/crates/libs/windows/src/Windows/Gaming/Input/Custom/impl.rs +++ b/crates/libs/windows/src/Windows/Gaming/Input/Custom/impl.rs @@ -173,7 +173,7 @@ impl IGipGameControllerInputSink_Vtbl { unsafe extern "system" fn OnMessageReceived, Impl: IGipGameControllerInputSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timestamp: u64, messageclass: GipMessageClass, messageid: u8, sequenceid: u8, messageBuffer_array_size: u32, messagebuffer: *const u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.OnMessageReceived(timestamp, messageclass, messageid, sequenceid, ::core::slice::from_raw_parts(::core::mem::transmute_copy(&messagebuffer), messageBuffer_array_size as _)).into() + this.OnMessageReceived(timestamp, messageclass, messageid, sequenceid, ::core::slice::from_raw_parts(::core::mem::transmute_copy(&messagebuffer), messageBuffer_array_size as usize)).into() } Self { base__: ::windows_core::IInspectable_Vtbl::new::(), @@ -197,7 +197,7 @@ impl IHidGameControllerInputSink_Vtbl { unsafe extern "system" fn OnInputReportReceived, Impl: IHidGameControllerInputSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timestamp: u64, reportid: u8, reportBuffer_array_size: u32, reportbuffer: *const u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.OnInputReportReceived(timestamp, reportid, ::core::slice::from_raw_parts(::core::mem::transmute_copy(&reportbuffer), reportBuffer_array_size as _)).into() + this.OnInputReportReceived(timestamp, reportid, ::core::slice::from_raw_parts(::core::mem::transmute_copy(&reportbuffer), reportBuffer_array_size as usize)).into() } Self { base__: ::windows_core::IInspectable_Vtbl::new::(), @@ -220,7 +220,7 @@ impl IXusbGameControllerInputSink_Vtbl { unsafe extern "system" fn OnInputReceived, Impl: IXusbGameControllerInputSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, timestamp: u64, reportid: u8, inputBuffer_array_size: u32, inputbuffer: *const u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.OnInputReceived(timestamp, reportid, ::core::slice::from_raw_parts(::core::mem::transmute_copy(&inputbuffer), inputBuffer_array_size as _)).into() + this.OnInputReceived(timestamp, reportid, ::core::slice::from_raw_parts(::core::mem::transmute_copy(&inputbuffer), inputBuffer_array_size as usize)).into() } Self { base__: ::windows_core::IInspectable_Vtbl::new::(), diff --git a/crates/libs/windows/src/Windows/Media/Protection/PlayReady/impl.rs b/crates/libs/windows/src/Windows/Media/Protection/PlayReady/impl.rs index bce0056354..35062378a8 100644 --- a/crates/libs/windows/src/Windows/Media/Protection/PlayReady/impl.rs +++ b/crates/libs/windows/src/Windows/Media/Protection/PlayReady/impl.rs @@ -132,7 +132,7 @@ impl INDDownloadEngine_Vtbl { unsafe extern "system" fn Open, Impl: INDDownloadEngine_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uri: *mut ::core::ffi::c_void, sessionIDBytes_array_size: u32, sessionidbytes: *const u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.Open(::windows_core::from_raw_borrowed(&uri), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&sessionidbytes), sessionIDBytes_array_size as _)).into() + this.Open(::windows_core::from_raw_borrowed(&uri), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&sessionidbytes), sessionIDBytes_array_size as usize)).into() } unsafe extern "system" fn Pause, Impl: INDDownloadEngine_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; @@ -241,7 +241,7 @@ impl INDDownloadEngineNotifier_Vtbl { unsafe extern "system" fn OnPlayReadyObjectReceived, Impl: INDDownloadEngineNotifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dataBytes_array_size: u32, databytes: *const u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.OnPlayReadyObjectReceived(::core::slice::from_raw_parts(::core::mem::transmute_copy(&databytes), dataBytes_array_size as _)).into() + this.OnPlayReadyObjectReceived(::core::slice::from_raw_parts(::core::mem::transmute_copy(&databytes), dataBytes_array_size as usize)).into() } unsafe extern "system" fn OnContentIDReceived, Impl: INDDownloadEngineNotifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, licensefetchdescriptor: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; @@ -251,7 +251,7 @@ impl INDDownloadEngineNotifier_Vtbl { unsafe extern "system" fn OnDataReceived, Impl: INDDownloadEngineNotifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dataBytes_array_size: u32, databytes: *const u8, bytesreceived: u32) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.OnDataReceived(::core::slice::from_raw_parts(::core::mem::transmute_copy(&databytes), dataBytes_array_size as _), bytesreceived).into() + this.OnDataReceived(::core::slice::from_raw_parts(::core::mem::transmute_copy(&databytes), dataBytes_array_size as usize), bytesreceived).into() } unsafe extern "system" fn OnEndOfStream, Impl: INDDownloadEngineNotifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; @@ -429,7 +429,7 @@ impl INDMessenger_Vtbl { unsafe extern "system" fn SendRegistrationRequestAsync, Impl: INDMessenger_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sessionIDBytes_array_size: u32, sessionidbytes: *const u8, challengeDataBytes_array_size: u32, challengedatabytes: *const u8, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - match this.SendRegistrationRequestAsync(::core::slice::from_raw_parts(::core::mem::transmute_copy(&sessionidbytes), sessionIDBytes_array_size as _), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&challengedatabytes), challengeDataBytes_array_size as _)) { + match this.SendRegistrationRequestAsync(::core::slice::from_raw_parts(::core::mem::transmute_copy(&sessionidbytes), sessionIDBytes_array_size as usize), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&challengedatabytes), challengeDataBytes_array_size as usize)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); @@ -441,7 +441,7 @@ impl INDMessenger_Vtbl { unsafe extern "system" fn SendProximityDetectionStartAsync, Impl: INDMessenger_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdtype: NDProximityDetectionType, transmitterChannelBytes_array_size: u32, transmitterchannelbytes: *const u8, sessionIDBytes_array_size: u32, sessionidbytes: *const u8, challengeDataBytes_array_size: u32, challengedatabytes: *const u8, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - match this.SendProximityDetectionStartAsync(pdtype, ::core::slice::from_raw_parts(::core::mem::transmute_copy(&transmitterchannelbytes), transmitterChannelBytes_array_size as _), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&sessionidbytes), sessionIDBytes_array_size as _), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&challengedatabytes), challengeDataBytes_array_size as _)) { + match this.SendProximityDetectionStartAsync(pdtype, ::core::slice::from_raw_parts(::core::mem::transmute_copy(&transmitterchannelbytes), transmitterChannelBytes_array_size as usize), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&sessionidbytes), sessionIDBytes_array_size as usize), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&challengedatabytes), challengeDataBytes_array_size as usize)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); @@ -453,7 +453,7 @@ impl INDMessenger_Vtbl { unsafe extern "system" fn SendProximityDetectionResponseAsync, Impl: INDMessenger_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdtype: NDProximityDetectionType, transmitterChannelBytes_array_size: u32, transmitterchannelbytes: *const u8, sessionIDBytes_array_size: u32, sessionidbytes: *const u8, responseDataBytes_array_size: u32, responsedatabytes: *const u8, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - match this.SendProximityDetectionResponseAsync(pdtype, ::core::slice::from_raw_parts(::core::mem::transmute_copy(&transmitterchannelbytes), transmitterChannelBytes_array_size as _), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&sessionidbytes), sessionIDBytes_array_size as _), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&responsedatabytes), responseDataBytes_array_size as _)) { + match this.SendProximityDetectionResponseAsync(pdtype, ::core::slice::from_raw_parts(::core::mem::transmute_copy(&transmitterchannelbytes), transmitterChannelBytes_array_size as usize), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&sessionidbytes), sessionIDBytes_array_size as usize), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&responsedatabytes), responseDataBytes_array_size as usize)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); @@ -465,7 +465,7 @@ impl INDMessenger_Vtbl { unsafe extern "system" fn SendLicenseFetchRequestAsync, Impl: INDMessenger_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sessionIDBytes_array_size: u32, sessionidbytes: *const u8, challengeDataBytes_array_size: u32, challengedatabytes: *const u8, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - match this.SendLicenseFetchRequestAsync(::core::slice::from_raw_parts(::core::mem::transmute_copy(&sessionidbytes), sessionIDBytes_array_size as _), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&challengedatabytes), challengeDataBytes_array_size as _)) { + match this.SendLicenseFetchRequestAsync(::core::slice::from_raw_parts(::core::mem::transmute_copy(&sessionidbytes), sessionIDBytes_array_size as usize), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&challengedatabytes), challengeDataBytes_array_size as usize)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); @@ -698,7 +698,7 @@ impl INDStreamParser_Vtbl { unsafe extern "system" fn ParseData, Impl: INDStreamParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dataBytes_array_size: u32, databytes: *const u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.ParseData(::core::slice::from_raw_parts(::core::mem::transmute_copy(&databytes), dataBytes_array_size as _)).into() + this.ParseData(::core::slice::from_raw_parts(::core::mem::transmute_copy(&databytes), dataBytes_array_size as usize)).into() } unsafe extern "system" fn GetStreamInformation, Impl: INDStreamParser_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, descriptor: *mut ::core::ffi::c_void, streamtype: *mut NDMediaStreamType, result__: *mut u32) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; @@ -774,12 +774,12 @@ impl INDStreamParserNotifier_Vtbl { unsafe extern "system" fn OnSampleParsed, Impl: INDStreamParserNotifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, streamid: u32, streamtype: NDMediaStreamType, streamsample: *mut ::core::ffi::c_void, pts: i64, ccformat: NDClosedCaptionFormat, ccDataBytes_array_size: u32, ccdatabytes: *const u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.OnSampleParsed(streamid, streamtype, ::windows_core::from_raw_borrowed(&streamsample), pts, ccformat, ::core::slice::from_raw_parts(::core::mem::transmute_copy(&ccdatabytes), ccDataBytes_array_size as _)).into() + this.OnSampleParsed(streamid, streamtype, ::windows_core::from_raw_borrowed(&streamsample), pts, ccformat, ::core::slice::from_raw_parts(::core::mem::transmute_copy(&ccdatabytes), ccDataBytes_array_size as usize)).into() } unsafe extern "system" fn OnBeginSetupDecryptor, Impl: INDStreamParserNotifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, descriptor: *mut ::core::ffi::c_void, keyid: ::windows_core::GUID, proBytes_array_size: u32, probytes: *const u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.OnBeginSetupDecryptor(::windows_core::from_raw_borrowed(&descriptor), ::core::mem::transmute(&keyid), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&probytes), proBytes_array_size as _)).into() + this.OnBeginSetupDecryptor(::windows_core::from_raw_borrowed(&descriptor), ::core::mem::transmute(&keyid), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&probytes), proBytes_array_size as usize)).into() } Self { base__: ::windows_core::IInspectable_Vtbl::new::(), @@ -1482,7 +1482,7 @@ impl IPlayReadyServiceRequest_Vtbl { unsafe extern "system" fn ProcessManualEnablingResponse, Impl: IPlayReadyServiceRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, responseBytes_array_size: u32, responsebytes: *const u8, result__: *mut ::windows_core::HRESULT) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - match this.ProcessManualEnablingResponse(::core::slice::from_raw_parts(::core::mem::transmute_copy(&responsebytes), responseBytes_array_size as _)) { + match this.ProcessManualEnablingResponse(::core::slice::from_raw_parts(::core::mem::transmute_copy(&responsebytes), responseBytes_array_size as usize)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::windows_core::HRESULT(0) diff --git a/crates/libs/windows/src/Windows/Networking/Vpn/impl.rs b/crates/libs/windows/src/Windows/Networking/Vpn/impl.rs index f452da7454..5222dae01a 100644 --- a/crates/libs/windows/src/Windows/Networking/Vpn/impl.rs +++ b/crates/libs/windows/src/Windows/Networking/Vpn/impl.rs @@ -297,7 +297,7 @@ impl IVpnInterfaceIdFactory_Vtbl { unsafe extern "system" fn CreateVpnInterfaceId, Impl: IVpnInterfaceIdFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, address_array_size: u32, address: *const u8, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - match this.CreateVpnInterfaceId(::core::slice::from_raw_parts(::core::mem::transmute_copy(&address), address_array_size as _)) { + match this.CreateVpnInterfaceId(::core::slice::from_raw_parts(::core::mem::transmute_copy(&address), address_array_size as usize)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::core::mem::forget(ok__); diff --git a/crates/libs/windows/src/Windows/Storage/Streams/impl.rs b/crates/libs/windows/src/Windows/Storage/Streams/impl.rs index 008c9d70f9..546eefd33f 100644 --- a/crates/libs/windows/src/Windows/Storage/Streams/impl.rs +++ b/crates/libs/windows/src/Windows/Storage/Streams/impl.rs @@ -186,7 +186,7 @@ impl IDataReader_Vtbl { unsafe extern "system" fn ReadBytes, Impl: IDataReader_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value_array_size: u32, value: *mut u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.ReadBytes(::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&value), value_array_size as _)).into() + this.ReadBytes(::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&value), value_array_size as usize)).into() } unsafe extern "system" fn ReadBuffer, Impl: IDataReader_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, length: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; @@ -503,7 +503,7 @@ impl IDataWriter_Vtbl { unsafe extern "system" fn WriteBytes, Impl: IDataWriter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value_array_size: u32, value: *const u8) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.WriteBytes(::core::slice::from_raw_parts(::core::mem::transmute_copy(&value), value_array_size as _)).into() + this.WriteBytes(::core::slice::from_raw_parts(::core::mem::transmute_copy(&value), value_array_size as usize)).into() } unsafe extern "system" fn WriteBuffer, Impl: IDataWriter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, buffer: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; diff --git a/crates/libs/windows/src/Windows/System/RemoteDesktop/Input/mod.rs b/crates/libs/windows/src/Windows/System/RemoteDesktop/Input/mod.rs index a179bb3bc1..dc8dd45f4c 100644 --- a/crates/libs/windows/src/Windows/System/RemoteDesktop/Input/mod.rs +++ b/crates/libs/windows/src/Windows/System/RemoteDesktop/Input/mod.rs @@ -176,7 +176,7 @@ impl ::windows_core::Result + ::core::marker::Send + 's } unsafe extern "system" fn Invoke(this: *mut ::core::ffi::c_void, pduData_array_size: u32, pdudata: *const u8, result__: *mut bool) -> ::windows_core::HRESULT { let this = this as *mut *mut ::core::ffi::c_void as *mut Self; - match ((*this).invoke)(::core::slice::from_raw_parts(::core::mem::transmute_copy(&pdudata), pduData_array_size as _)) { + match ((*this).invoke)(::core::slice::from_raw_parts(::core::mem::transmute_copy(&pdudata), pduData_array_size as usize)) { ::core::result::Result::Ok(ok__) => { ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); ::windows_core::HRESULT(0) diff --git a/crates/libs/windows/src/Windows/UI/UIAutomation/Core/impl.rs b/crates/libs/windows/src/Windows/UI/UIAutomation/Core/impl.rs index 995aaee4f2..d5c99758b2 100644 --- a/crates/libs/windows/src/Windows/UI/UIAutomation/Core/impl.rs +++ b/crates/libs/windows/src/Windows/UI/UIAutomation/Core/impl.rs @@ -42,7 +42,7 @@ impl ICoreAutomationRemoteOperationExtensionProvider_Vtbl { unsafe extern "system" fn CallExtension, Impl: ICoreAutomationRemoteOperationExtensionProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, extensionid: ::windows_core::GUID, context: *mut ::core::ffi::c_void, operandIds_array_size: u32, operandids: *const AutomationRemoteOperationOperandId) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); - this.CallExtension(::core::mem::transmute(&extensionid), ::windows_core::from_raw_borrowed(&context), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&operandids), operandIds_array_size as _)).into() + this.CallExtension(::core::mem::transmute(&extensionid), ::windows_core::from_raw_borrowed(&context), ::core::slice::from_raw_parts(::core::mem::transmute_copy(&operandids), operandIds_array_size as usize)).into() } unsafe extern "system" fn IsExtensionSupported, Impl: ICoreAutomationRemoteOperationExtensionProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, extensionid: ::windows_core::GUID, result__: *mut bool) -> ::windows_core::HRESULT { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; diff --git a/crates/libs/windows/src/Windows/Win32/Foundation/mod.rs b/crates/libs/windows/src/Windows/Win32/Foundation/mod.rs index e9f34bc659..97539af18f 100644 --- a/crates/libs/windows/src/Windows/Win32/Foundation/mod.rs +++ b/crates/libs/windows/src/Windows/Win32/Foundation/mod.rs @@ -21790,7 +21790,7 @@ impl WIN32_ERROR { } #[inline] pub const fn to_hresult(self) -> ::windows_core::HRESULT { - ::windows_core::HRESULT(if self.0 == 0 { self.0 } else { (self.0 & 0x0000_FFFF) | (7 << 16) | 0x8000_0000 } as _) + ::windows_core::HRESULT(if self.0 == 0 { self.0 } else { (self.0 & 0x0000_FFFF) | (7 << 16) | 0x8000_0000 } as i32) } #[inline] pub fn from_error(error: &::windows_core::Error) -> ::core::option::Option { diff --git a/crates/samples/windows-sys/privileges/src/main.rs b/crates/samples/windows-sys/privileges/src/main.rs index 64c1905f52..5961d6543c 100644 --- a/crates/samples/windows-sys/privileges/src/main.rs +++ b/crates/samples/windows-sys/privileges/src/main.rs @@ -16,7 +16,7 @@ fn main() { &mut bytes_required, ); - let buffer = LocalAlloc(LPTR, bytes_required as _); + let buffer = LocalAlloc(LPTR, bytes_required as usize); GetTokenInformation( token, @@ -29,7 +29,7 @@ fn main() { let header = &*(buffer as *const TOKEN_PRIVILEGES); let privileges = - std::slice::from_raw_parts(header.Privileges.as_ptr(), header.PrivilegeCount as _); + std::slice::from_raw_parts(header.Privileges.as_ptr(), header.PrivilegeCount as usize); for privilege in privileges { let mut name_len = 0; diff --git a/crates/samples/windows/data_protection/src/main.rs b/crates/samples/windows/data_protection/src/main.rs index e2cd128c90..aa95ac4e4d 100644 --- a/crates/samples/windows/data_protection/src/main.rs +++ b/crates/samples/windows/data_protection/src/main.rs @@ -25,5 +25,8 @@ fn main() -> std::io::Result<()> { unsafe fn as_mut_bytes(buffer: &IBuffer) -> Result<&mut [u8]> { let interop = buffer.cast::()?; let data = interop.Buffer()?; - Ok(std::slice::from_raw_parts_mut(data, buffer.Length()? as _)) + Ok(std::slice::from_raw_parts_mut( + data, + buffer.Length()? as usize, + )) } diff --git a/crates/samples/windows/dcomp/src/main.rs b/crates/samples/windows/dcomp/src/main.rs index 3bbe4f1a1f..cec75e09a8 100644 --- a/crates/samples/windows/dcomp/src/main.rs +++ b/crates/samples/windows/dcomp/src/main.rs @@ -91,7 +91,7 @@ impl Window { for column in 0..CARD_COLUMNS { print!( " {}", - char::from_u32(cards[row * CARD_COLUMNS + column].value as _) + char::from_u32(cards[row * CARD_COLUMNS + column].value as u32) .expect("char") ); } @@ -211,13 +211,13 @@ impl Window { let mut rect = RECT { left: 0, top: 0, - right: logical_to_physical(WINDOW_WIDTH, self.dpi.0) as _, - bottom: logical_to_physical(WINDOW_HEIGHT, self.dpi.1) as _, + right: logical_to_physical(WINDOW_WIDTH, self.dpi.0) as i32, + bottom: logical_to_physical(WINDOW_HEIGHT, self.dpi.1) as i32, }; AdjustWindowRect( &mut rect, - WINDOW_STYLE(GetWindowLongW(self.handle, GWL_STYLE) as _), + WINDOW_STYLE(GetWindowLongW(self.handle, GWL_STYLE) as u32), false, )?; @@ -367,7 +367,7 @@ impl Window { let monitor = MonitorFromWindow(self.handle, MONITOR_DEFAULTTONEAREST); let mut dpi = (0, 0); GetDpiForMonitor(monitor, MDT_EFFECTIVE_DPI, &mut dpi.0, &mut dpi.1)?; - self.dpi = (dpi.0 as _, dpi.1 as _); + self.dpi = (dpi.0 as f32, dpi.1 as f32); if cfg!(debug_assertions) { println!("initial dpi: {:?}", self.dpi); @@ -580,8 +580,8 @@ fn create_surface( ) -> Result { unsafe { device.CreateSurface( - width as _, - height as _, + width as u32, + height as u32, DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_ALPHA_MODE_PREMULTIPLIED, ) @@ -680,8 +680,8 @@ fn draw_card_front( dc.SetDpi(dpi.0, dpi.1); dc.SetTransform(&Matrix3x2::translation( - physical_to_logical(offset.x as _, dpi.0), - physical_to_logical(offset.y as _, dpi.1), + physical_to_logical(offset.x as f32, dpi.0), + physical_to_logical(offset.y as f32, dpi.1), )); dc.Clear(Some(&D2D1_COLOR_F { @@ -721,12 +721,12 @@ fn draw_card_back( dc.SetDpi(dpi.0, dpi.1); dc.SetTransform(&Matrix3x2::translation( - physical_to_logical(dc_offset.x as _, dpi.0), - physical_to_logical(dc_offset.y as _, dpi.1), + physical_to_logical(dc_offset.x as f32, dpi.0), + physical_to_logical(dc_offset.y as f32, dpi.1), )); - let left = physical_to_logical(offset.0 as _, dpi.0); - let top = physical_to_logical(offset.1 as _, dpi.1); + let left = physical_to_logical(offset.0, dpi.0); + let top = physical_to_logical(offset.1, dpi.1); dc.DrawBitmap( bitmap, diff --git a/crates/samples/windows/memory_buffer/src/main.rs b/crates/samples/windows/memory_buffer/src/main.rs index c0ecf63059..025e9a931a 100644 --- a/crates/samples/windows/memory_buffer/src/main.rs +++ b/crates/samples/windows/memory_buffer/src/main.rs @@ -11,7 +11,7 @@ unsafe fn as_mut_slice(buffer: &IMemoryBufferReference) -> Result<&mut [u8]> { let mut len = 0; interop.GetBuffer(&mut data, &mut len)?; - Ok(std::slice::from_raw_parts_mut(data, len as _)) + Ok(std::slice::from_raw_parts_mut(data, len as usize)) } fn main() -> Result<()> { diff --git a/crates/samples/windows/privileges/src/main.rs b/crates/samples/windows/privileges/src/main.rs index efe8af335a..7cbfe5021b 100644 --- a/crates/samples/windows/privileges/src/main.rs +++ b/crates/samples/windows/privileges/src/main.rs @@ -11,7 +11,7 @@ fn main() -> Result<()> { let mut bytes_required = 0; _ = GetTokenInformation(token, TokenPrivileges, None, 0, &mut bytes_required); - let buffer = LocalAlloc(LPTR, bytes_required as _)?; + let buffer = LocalAlloc(LPTR, bytes_required as usize)?; GetTokenInformation( token, @@ -24,7 +24,7 @@ fn main() -> Result<()> { let header = &*(buffer.0 as *const TOKEN_PRIVILEGES); let privileges = - std::slice::from_raw_parts(header.Privileges.as_ptr(), header.PrivilegeCount as _); + std::slice::from_raw_parts(header.Privileges.as_ptr(), header.PrivilegeCount as usize); for privilege in privileges { let mut name_len = 0; diff --git a/crates/tests/bcrypt/tests/sys.rs b/crates/tests/bcrypt/tests/sys.rs index 9b3a17e8ec..440ed7b88f 100644 --- a/crates/tests/bcrypt/tests/sys.rs +++ b/crates/tests/bcrypt/tests/sys.rs @@ -23,17 +23,22 @@ fn test() { des, BCRYPT_OBJECT_LENGTH, object_len.as_mut_ptr(), - object_len.len() as _, + object_len.len() as u32, &mut bytes_copied, 0 ) ); let object_len = u32::from_le_bytes(object_len); - let mut shared_secret = vec![0; object_len as _]; + let mut shared_secret = vec![0; object_len as usize]; assert_eq!( STATUS_SUCCESS, - BCryptGenRandom(rng, shared_secret.as_mut_ptr(), shared_secret.len() as _, 0) + BCryptGenRandom( + rng, + shared_secret.as_mut_ptr(), + shared_secret.len() as u32, + 0 + ) ); let mut encrypt_key = std::ptr::null_mut(); @@ -45,7 +50,7 @@ fn test() { std::ptr::null_mut(), 0, shared_secret.as_ptr(), - shared_secret.len() as _, + shared_secret.len() as u32, 0 ) ); @@ -57,7 +62,7 @@ fn test() { des, BCRYPT_BLOCK_LENGTH, block_len.as_mut_ptr(), - block_len.len() as _, + block_len.len() as u32, &mut bytes_copied, 0 ) @@ -75,7 +80,7 @@ fn test() { BCryptEncrypt( encrypt_key, send_buffer.as_ptr(), - send_buffer.len() as _, + send_buffer.len() as u32, std::ptr::null(), std::ptr::null_mut(), 0, @@ -86,18 +91,18 @@ fn test() { ) ); - let mut encrypted = vec![0; encrypted_len as _]; + let mut encrypted = vec![0; encrypted_len as usize]; assert_eq!( STATUS_SUCCESS, BCryptEncrypt( encrypt_key, send_buffer.as_ptr(), - send_buffer.len() as _, + send_buffer.len() as u32, std::ptr::null(), std::ptr::null_mut(), 0, encrypted.as_mut_ptr(), - encrypted.len() as _, + encrypted.len() as u32, &mut encrypted_len, 0 ) @@ -112,7 +117,7 @@ fn test() { std::ptr::null_mut(), 0, shared_secret.as_ptr(), - shared_secret.len() as _, + shared_secret.len() as u32, 0 ) ); @@ -123,7 +128,7 @@ fn test() { BCryptDecrypt( decrypt_key, encrypted.as_ptr(), - encrypted.len() as _, + encrypted.len() as u32, std::ptr::null(), std::ptr::null_mut(), 0, @@ -134,18 +139,18 @@ fn test() { ) ); - let mut decrypted = vec![0; decrypted_len as _]; + let mut decrypted = vec![0; decrypted_len as usize]; assert_eq!( STATUS_SUCCESS, BCryptDecrypt( decrypt_key, encrypted.as_ptr(), - encrypted.len() as _, + encrypted.len() as u32, std::ptr::null(), std::ptr::null_mut(), 0, decrypted.as_mut_ptr(), - decrypted.len() as _, + decrypted.len() as u32, &mut decrypted_len, 0 ) diff --git a/crates/tests/bcrypt/tests/win.rs b/crates/tests/bcrypt/tests/win.rs index 5af1d969dc..13c5b2082e 100644 --- a/crates/tests/bcrypt/tests/win.rs +++ b/crates/tests/bcrypt/tests/win.rs @@ -20,7 +20,7 @@ fn test() -> Result<()> { )?; let object_len = u32::from_le_bytes(object_len); - let mut shared_secret = vec![0; object_len as _]; + let mut shared_secret = vec![0; object_len as usize]; BCryptGenRandom(rng, &mut shared_secret, Default::default())?; let mut encrypt_key = Default::default(); @@ -52,7 +52,7 @@ fn test() -> Result<()> { Default::default(), )?; - let mut encrypted = vec![0; encrypted_len as _]; + let mut encrypted = vec![0; encrypted_len as usize]; BCryptEncrypt( encrypt_key, Some(&send_buffer), @@ -77,7 +77,7 @@ fn test() -> Result<()> { Default::default(), )?; - let mut decrypted = vec![0; decrypted_len as _]; + let mut decrypted = vec![0; decrypted_len as usize]; BCryptDecrypt( decrypt_key, Some(&encrypted), diff --git a/crates/tests/calling_convention/tests/sys.rs b/crates/tests/calling_convention/tests/sys.rs index 9d2bd06211..bfdb6628b8 100644 --- a/crates/tests/calling_convention/tests/sys.rs +++ b/crates/tests/calling_convention/tests/sys.rs @@ -7,7 +7,7 @@ use windows_sys::{ fn calling_convention() { unsafe { // This function requires cdecl on x86. - assert_eq!(ERROR_BUSY, LdapMapErrorToWin32(LDAP_BUSY as _)); + assert_eq!(ERROR_BUSY, LdapMapErrorToWin32(LDAP_BUSY as u32)); // This function requires stdcall on x86. GetTickCount(); @@ -19,8 +19,10 @@ fn variadic() { unsafe { let mut buffer = vec![0u8; 1024]; let len = wsprintfA(buffer.as_mut_ptr(), s!("test-%d-%d!"), 123u32, 456u32); - let result = - std::str::from_utf8_unchecked(&std::slice::from_raw_parts(buffer.as_ptr(), len as _)); + let result = std::str::from_utf8_unchecked(&std::slice::from_raw_parts( + buffer.as_ptr(), + len as usize, + )); assert_eq!(result, "test-123-456!"); } } diff --git a/crates/tests/component/src/bindings.rs b/crates/tests/component/src/bindings.rs index 312bc5e139..16db716425 100644 --- a/crates/tests/component/src/bindings.rs +++ b/crates/tests/component/src/bindings.rs @@ -597,10 +597,13 @@ impl IClass_Vtbl { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.Int32Array( - ::core::slice::from_raw_parts(::core::mem::transmute_copy(&a), a_array_size as _), + ::core::slice::from_raw_parts( + ::core::mem::transmute_copy(&a), + a_array_size as usize, + ), ::core::slice::from_raw_parts_mut( ::core::mem::transmute_copy(&b), - b_array_size as _, + b_array_size as usize, ), ::windows_core::ArrayProxy::from_raw_parts( ::core::mem::transmute_copy(&c), @@ -635,10 +638,13 @@ impl IClass_Vtbl { let this = (this as *const *const ()).offset(OFFSET) as *const Identity; let this = (*this).get_impl(); match this.StringArray( - ::core::slice::from_raw_parts(::core::mem::transmute_copy(&a), a_array_size as _), + ::core::slice::from_raw_parts( + ::core::mem::transmute_copy(&a), + a_array_size as usize, + ), ::core::slice::from_raw_parts_mut( ::core::mem::transmute_copy(&b), - b_array_size as _, + b_array_size as usize, ), ::windows_core::ArrayProxy::from_raw_parts( ::core::mem::transmute_copy(&c), diff --git a/crates/tests/error/tests/std.rs b/crates/tests/error/tests/std.rs index 35b3a6f4b7..2568e30360 100644 --- a/crates/tests/error/tests/std.rs +++ b/crates/tests/error/tests/std.rs @@ -22,8 +22,11 @@ fn conversions() { ); // std::io::Error from WIN32_ERROR - let std_error = std::io::Error::from_raw_os_error(ERROR_INVALID_DATA.0 as _); - assert_eq!(std_error.raw_os_error().unwrap(), ERROR_INVALID_DATA.0 as _); + let std_error = std::io::Error::from_raw_os_error(ERROR_INVALID_DATA.0 as i32); + assert_eq!( + std_error.raw_os_error().unwrap(), + ERROR_INVALID_DATA.0 as i32 + ); assert_eq!(format!("{std_error}"), "The data is invalid. (os error 13)"); // Starting with WIN32_ERROR... diff --git a/crates/tests/implement/tests/generic_default.rs b/crates/tests/implement/tests/generic_default.rs index b4c4adce73..5b30ebd185 100644 --- a/crates/tests/implement/tests/generic_default.rs +++ b/crates/tests/implement/tests/generic_default.rs @@ -26,13 +26,13 @@ where } fn Size(&self) -> Result { - Ok(self.0.len() as _) + Ok(self.0.len() as u32) } fn IndexOf(&self, value: &T::Default, result: &mut u32) -> Result { match self.0.iter().position(|element| element == value) { Some(index) => { - *result = index as _; + *result = index as u32; Ok(true) } None => Ok(false), diff --git a/crates/tests/implement/tests/generic_primitive.rs b/crates/tests/implement/tests/generic_primitive.rs index a111af9d06..6f1e04e44c 100644 --- a/crates/tests/implement/tests/generic_primitive.rs +++ b/crates/tests/implement/tests/generic_primitive.rs @@ -12,7 +12,7 @@ struct Thing(); #[allow(non_snake_case)] impl IVectorView_Impl for Thing { fn GetAt(&self, index: u32) -> Result { - Ok(index as _) + Ok(index as i32) } fn Size(&self) -> Result { @@ -20,7 +20,7 @@ impl IVectorView_Impl for Thing { } fn IndexOf(&self, value: &i32, index: &mut u32) -> Result { - *index = *value as _; + *index = *value as u32; Ok(true) } diff --git a/crates/tests/implement/tests/vector.rs b/crates/tests/implement/tests/vector.rs index 543a5f4646..525fc39c41 100644 --- a/crates/tests/implement/tests/vector.rs +++ b/crates/tests/implement/tests/vector.rs @@ -40,13 +40,13 @@ where } fn Size(&self) -> Result { let reader = self.0.read().unwrap(); - Ok(reader.len() as _) + Ok(reader.len() as u32) } fn IndexOf(&self, value: &T::Default, result: &mut u32) -> Result { let reader = self.0.read().unwrap(); match reader.iter().position(|element| element == value) { Some(index) => { - *result = index as _; + *result = index as u32; Ok(true) } None => Ok(false), @@ -88,7 +88,7 @@ where } else { let len = writer.len(); writer.try_reserve(len + 1).map_err(|_| err_memory())?; - writer.insert(index as _, value.clone()); + writer.insert(index as usize, value.clone()); Ok(()) } } diff --git a/crates/tests/interface/tests/com.rs b/crates/tests/interface/tests/com.rs index 01cb0108e7..95f334ef75 100644 --- a/crates/tests/interface/tests/com.rs +++ b/crates/tests/interface/tests/com.rs @@ -78,8 +78,8 @@ impl ICustomPersistMemory_Impl for Persist { unsafe fn Load(&self, input: *const core::ffi::c_void, size: u32) -> HRESULT { let mut writer = self.0.write().unwrap(); - if size <= writer.memory.len() as _ { - std::ptr::copy(input, writer.memory.as_mut_ptr() as _, size as _); + if size <= writer.memory.len() as u32 { + std::ptr::copy(input, writer.memory.as_mut_ptr() as _, size as usize); writer.dirty = true; S_OK } else { @@ -89,8 +89,8 @@ impl ICustomPersistMemory_Impl for Persist { unsafe fn Save(&self, output: *mut core::ffi::c_void, clear_dirty: BOOL, size: u32) -> HRESULT { let mut writer = self.0.write().unwrap(); - if size <= writer.memory.len() as _ { - std::ptr::copy(writer.memory.as_mut_ptr() as _, output, size as _); + if size <= writer.memory.len() as u32 { + std::ptr::copy(writer.memory.as_mut_ptr() as _, output, size as usize); if clear_dirty.as_bool() { writer.dirty = false; } @@ -102,7 +102,7 @@ impl ICustomPersistMemory_Impl for Persist { unsafe fn GetSizeMax(&self, len: *mut u32) -> HRESULT { let reader = self.0.read().unwrap(); - *len = reader.memory.len() as _; + *len = reader.memory.len() as u32; S_OK } diff --git a/crates/tests/riddle/src/lib.rs b/crates/tests/riddle/src/lib.rs index 883b27aa96..0e96607d77 100644 --- a/crates/tests/riddle/src/lib.rs +++ b/crates/tests/riddle/src/lib.rs @@ -34,8 +34,9 @@ pub fn run_riddle(name: &str) -> Vec { // Convert .rd to .rs let mut command = Command::new("cargo"); command.args([ - "run", "-p", "riddle", "--", "--in", &rd, "--out", &rs, "--filter", "Test", - ]); // TODO: --config FLATTEN doesn't work for namespaces + "run", "-p", "riddle", "--", "--in", &rd, "--out", &rs, "--filter", "Test", "--config", + "FLATTEN", + ]); assert!(command.status().unwrap().success()); // Return winmd file for validation diff --git a/crates/tests/riddle/src/nested_module.rs b/crates/tests/riddle/src/nested_module.rs index 393cd0ffe8..da81cb07f9 100644 --- a/crates/tests/riddle/src/nested_module.rs +++ b/crates/tests/riddle/src/nested_module.rs @@ -7,43 +7,39 @@ dead_code, clippy::all )] -pub mod NestedModule { - #[repr(C)] - pub struct NestedType { - pub field: f32, - } - impl ::core::marker::Copy for NestedType {} - impl ::core::clone::Clone for NestedType { - fn clone(&self) -> Self { - *self - } - } - impl ::core::fmt::Debug for NestedType { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_struct("NestedType") - .field("field", &self.field) - .finish() - } - } - impl ::windows_core::TypeKind for NestedType { - type TypeKind = ::windows_core::CopyType; +#[repr(C)] +pub struct NestedType { + pub field: f32, +} +impl ::core::marker::Copy for NestedType {} +impl ::core::clone::Clone for NestedType { + fn clone(&self) -> Self { + *self } - impl ::windows_core::RuntimeType for NestedType { - const SIGNATURE: ::windows_core::imp::ConstBuffer = - ::windows_core::imp::ConstBuffer::from_slice( - b"struct(Test.NestedModule.NestedType;f4)", - ); +} +impl ::core::fmt::Debug for NestedType { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_struct("NestedType") + .field("field", &self.field) + .finish() } - impl ::core::cmp::PartialEq for NestedType { - fn eq(&self, other: &Self) -> bool { - self.field == other.field - } +} +impl ::windows_core::TypeKind for NestedType { + type TypeKind = ::windows_core::CopyType; +} +impl ::windows_core::RuntimeType for NestedType { + const SIGNATURE: ::windows_core::imp::ConstBuffer = + ::windows_core::imp::ConstBuffer::from_slice(b"struct(Test.NestedModule.NestedType;f4)"); +} +impl ::core::cmp::PartialEq for NestedType { + fn eq(&self, other: &Self) -> bool { + self.field == other.field } - impl ::core::cmp::Eq for NestedType {} - impl ::core::default::Default for NestedType { - fn default() -> Self { - unsafe { ::core::mem::zeroed() } - } +} +impl ::core::cmp::Eq for NestedType {} +impl ::core::default::Default for NestedType { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } } } #[repr(C)] diff --git a/crates/tests/targets/tests/symbol.rs b/crates/tests/targets/tests/symbol.rs index 57647d75b1..cb6c8c7eb7 100644 --- a/crates/tests/targets/tests/symbol.rs +++ b/crates/tests/targets/tests/symbol.rs @@ -5,14 +5,17 @@ fn symbol() { unsafe { use windows_sys::Win32::Security::Authentication::Identity::RtlGenRandom; let mut buffer = [0u8; 8]; - assert_eq!(RtlGenRandom(buffer.as_mut_ptr() as _, buffer.len() as _), 1); + assert_eq!( + RtlGenRandom(buffer.as_mut_ptr() as _, buffer.len() as u32), + 1 + ); assert_ne!(&buffer, &[0u8; 8]); } unsafe { use windows::Win32::Security::Authentication::Identity::RtlGenRandom; let mut buffer = [0u8; 8]; assert_eq!( - RtlGenRandom(buffer.as_mut_ptr() as _, buffer.len() as _), + RtlGenRandom(buffer.as_mut_ptr() as _, buffer.len() as u32), true ); assert_ne!(&buffer, &[0u8; 8]); diff --git a/crates/tests/win32/tests/win32.rs b/crates/tests/win32/tests/win32.rs index 55f30a5a4a..82a75a8d6a 100644 --- a/crates/tests/win32/tests/win32.rs +++ b/crates/tests/win32/tests/win32.rs @@ -149,7 +149,7 @@ fn com() -> windows::core::Result<()> { let mut copied = 0; stream - .Write(values.as_ptr() as _, values.len() as _, Some(&mut copied)) + .Write(values.as_ptr() as _, values.len() as u32, Some(&mut copied)) .ok()?; assert!(copied == 4); @@ -162,7 +162,7 @@ fn com() -> windows::core::Result<()> { stream .Read( values.as_mut_ptr() as _, - values.len() as _, + values.len() as u32, Some(&mut copied), ) .ok()?; diff --git a/crates/tests/win32/tests/winsock.rs b/crates/tests/win32/tests/winsock.rs index d65b3efaa4..986871d577 100644 --- a/crates/tests/win32/tests/winsock.rs +++ b/crates/tests/win32/tests/winsock.rs @@ -15,7 +15,7 @@ fn in_addr() { fn in_addr_to_string(in_addr: &IN_ADDR) -> String { unsafe { let mut chars = [0; 24]; - inet_ntop(AF_INET.0 as _, in_addr as *const IN_ADDR as _, &mut chars); + inet_ntop(AF_INET.0 as i32, in_addr as *const IN_ADDR as _, &mut chars); std::ffi::CStr::from_ptr(chars.as_ptr() as *const _) .to_str() .unwrap() diff --git a/crates/tests/win32_arrays/tests/xmllite.rs b/crates/tests/win32_arrays/tests/xmllite.rs index b8cf245c92..d1949a842f 100644 --- a/crates/tests/win32_arrays/tests/xmllite.rs +++ b/crates/tests/win32_arrays/tests/xmllite.rs @@ -48,7 +48,7 @@ fn test() -> Result<()> { assert_eq!(node_type, XmlNodeType_Element); reader.GetLocalName(&mut name, Some(&mut name_len))?; assert_eq!( - String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as _)), + String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as usize)), "html" ); @@ -57,7 +57,7 @@ fn test() -> Result<()> { assert_eq!(node_type, XmlNodeType_Element); reader.GetLocalName(&mut name, Some(&mut name_len))?; assert_eq!( - String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as _)), + String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as usize)), "head" ); @@ -71,7 +71,7 @@ fn test() -> Result<()> { let mut read_count = 0; while reader.ReadValueChunk(&mut chunk, &mut chars_read).is_ok() && chars_read > 0 { - message.extend_from_slice(&chunk[0..chars_read as _]); + message.extend_from_slice(&chunk[0..chars_read as usize]); read_count += 1; } @@ -96,7 +96,10 @@ fn test() -> Result<()> { reader.ReadValueChunk(&mut chunk, &mut chars_read).ok()?; assert_eq!(chars_read, 4); assert_eq!( - String::from_utf16_lossy(std::slice::from_raw_parts(chunk.as_ptr(), chars_read as _)), + String::from_utf16_lossy(std::slice::from_raw_parts( + chunk.as_ptr(), + chars_read as usize + )), "Rust" ); @@ -140,7 +143,7 @@ fn lite() -> Result<()> { assert_eq!(node_type, XmlNodeType_Element); reader.GetLocalName(&mut name, Some(&mut name_len))?; assert_eq!( - String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as _)), + String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as usize)), "html" ); @@ -149,13 +152,13 @@ fn lite() -> Result<()> { reader.GetLocalName(&mut name, Some(&mut name_len))?; assert_eq!( - String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as _)), + String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as usize)), "no-value" ); reader.GetValue(&mut name, Some(&mut name_len))?; assert_eq!( - String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as _)), + String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as usize)), "" ); @@ -163,13 +166,13 @@ fn lite() -> Result<()> { reader.GetLocalName(&mut name, Some(&mut name_len))?; assert_eq!( - String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as _)), + String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as usize)), "with-value" ); reader.GetValue(&mut name, Some(&mut name_len))?; assert_eq!( - String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as _)), + String::from_utf16_lossy(std::slice::from_raw_parts(name.0, name_len as usize)), "value" ); diff --git a/crates/tools/riddle/src/rd/to_winmd.rs b/crates/tools/riddle/src/rd/to_winmd.rs index ed61c0139f..6e21609dbd 100644 --- a/crates/tools/riddle/src/rd/to_winmd.rs +++ b/crates/tools/riddle/src/rd/to_winmd.rs @@ -97,7 +97,7 @@ fn write_interface( Extends: 0, FieldList: 0, Flags: flags.0, - MethodList: writer.tables.MethodDef.len() as _, + MethodList: writer.tables.MethodDef.len() as u32, TypeName: writer.strings.insert(name), TypeNamespace: writer.strings.insert(namespace), }); @@ -112,13 +112,13 @@ fn write_interface( Flags: 0, Name: writer.strings.insert(&method.sig.ident.to_string()), Signature: signature, - ParamList: writer.tables.Param.len() as _, + ParamList: writer.tables.Param.len() as u32, }); for (sequence, param) in sig.params.iter().enumerate() { writer.tables.Param.push(winmd::Param { Flags: 0, - Sequence: (sequence + 1) as _, + Sequence: (sequence + 1) as u16, Name: writer.strings.insert(¶m.name), }); } @@ -136,7 +136,7 @@ fn write_struct(writer: &mut winmd::Writer, namespace: &str, name: &str, member: writer.tables.TypeDef.push(winmd::TypeDef { Extends: extends, - FieldList: writer.tables.Field.len() as _, + FieldList: writer.tables.Field.len() as u32, Flags: flags.0, MethodList: 0, TypeName: writer.strings.insert(name), diff --git a/crates/tools/riddle/src/rust/extensions/impl/Foundation/Collections/Iterable.rs b/crates/tools/riddle/src/rust/extensions/impl/Foundation/Collections/Iterable.rs index 74318b0ba9..6bed10d68f 100644 --- a/crates/tools/riddle/src/rust/extensions/impl/Foundation/Collections/Iterable.rs +++ b/crates/tools/riddle/src/rust/extensions/impl/Foundation/Collections/Iterable.rs @@ -79,7 +79,7 @@ where values.clone_from_slice(&owner.values[current..current + actual]); self.current .fetch_add(actual, ::std::sync::atomic::Ordering::Relaxed); - Ok(actual as _) + Ok(actual as u32) } } diff --git a/crates/tools/riddle/src/rust/extensions/impl/Foundation/Collections/MapView.rs b/crates/tools/riddle/src/rust/extensions/impl/Foundation/Collections/MapView.rs index 74f847dda6..72b39f56ec 100644 --- a/crates/tools/riddle/src/rust/extensions/impl/Foundation/Collections/MapView.rs +++ b/crates/tools/riddle/src/rust/extensions/impl/Foundation/Collections/MapView.rs @@ -44,7 +44,7 @@ where V::from_default(value) } fn Size(&self) -> ::windows_core::Result { - Ok(self.map.len() as _) + Ok(self.map.len() as u32) } fn HasKey(&self, key: &K::Default) -> ::windows_core::Result { Ok(self.map.contains_key(key)) @@ -125,7 +125,7 @@ where } } - Ok(actual as _) + Ok(actual) } } diff --git a/crates/tools/riddle/src/rust/extensions/impl/Foundation/Collections/VectorView.rs b/crates/tools/riddle/src/rust/extensions/impl/Foundation/Collections/VectorView.rs index 496a6f0206..cc482b70fd 100644 --- a/crates/tools/riddle/src/rust/extensions/impl/Foundation/Collections/VectorView.rs +++ b/crates/tools/riddle/src/rust/extensions/impl/Foundation/Collections/VectorView.rs @@ -38,12 +38,12 @@ where T::from_default(item) } fn Size(&self) -> ::windows_core::Result { - Ok(self.values.len() as _) + Ok(self.values.len() as u32) } fn IndexOf(&self, value: &T::Default, result: &mut u32) -> ::windows_core::Result { match self.values.iter().position(|element| element == value) { Some(index) => { - *result = index as _; + *result = index as u32; Ok(true) } None => Ok(false), @@ -57,7 +57,7 @@ where let actual = std::cmp::min(self.values.len() - current, values.len()); let (values, _) = values.split_at_mut(actual); values.clone_from_slice(&self.values[current..current + actual]); - Ok(actual as _) + Ok(actual as u32) } } @@ -115,7 +115,7 @@ where values.clone_from_slice(&owner.values[current..current + actual]); self.current .fetch_add(actual, ::std::sync::atomic::Ordering::Relaxed); - Ok(actual as _) + Ok(actual as u32) } } diff --git a/crates/tools/riddle/src/rust/extensions/mod/Win32/Foundation/WIN32_ERROR.rs b/crates/tools/riddle/src/rust/extensions/mod/Win32/Foundation/WIN32_ERROR.rs index e4c98f93ac..2c9441efb0 100644 --- a/crates/tools/riddle/src/rust/extensions/mod/Win32/Foundation/WIN32_ERROR.rs +++ b/crates/tools/riddle/src/rust/extensions/mod/Win32/Foundation/WIN32_ERROR.rs @@ -9,7 +9,7 @@ impl WIN32_ERROR { } #[inline] pub const fn to_hresult(self) -> ::windows_core::HRESULT { - ::windows_core::HRESULT(if self.0 == 0 { self.0 } else { (self.0 & 0x0000_FFFF) | (7 << 16) | 0x8000_0000 } as _) + ::windows_core::HRESULT(if self.0 == 0 { self.0 } else { (self.0 & 0x0000_FFFF) | (7 << 16) | 0x8000_0000 } as i32) } #[inline] pub fn from_error(error: &::windows_core::Error) -> ::core::option::Option { diff --git a/crates/tools/riddle/src/rust/winrt_methods.rs b/crates/tools/riddle/src/rust/winrt_methods.rs index 9c32d6cbbf..0e438d5a94 100644 --- a/crates/tools/riddle/src/rust/winrt_methods.rs +++ b/crates/tools/riddle/src/rust/winrt_methods.rs @@ -252,7 +252,7 @@ fn gen_winrt_invoke_arg(writer: &Writer, param: &SignatureParam) -> TokenStream .contains(ParamAttributes::In) { if param.ty.is_winrt_array() { - quote! { ::core::slice::from_raw_parts(::core::mem::transmute_copy(&#name), #abi_size_name as _) } + quote! { ::core::slice::from_raw_parts(::core::mem::transmute_copy(&#name), #abi_size_name as usize) } } else if writer.reader.type_is_primitive(¶m.ty) { quote! { #name } } else if param.ty.is_const_ref() { @@ -263,7 +263,7 @@ fn gen_winrt_invoke_arg(writer: &Writer, param: &SignatureParam) -> TokenStream quote! { ::core::mem::transmute(&#name) } } } else if param.ty.is_winrt_array() { - quote! { ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&#name), #abi_size_name as _) } + quote! { ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&#name), #abi_size_name as usize) } } else if param.ty.is_winrt_array_ref() { quote! { ::windows_core::ArrayProxy::from_raw_parts(::core::mem::transmute_copy(&#name), #abi_size_name).as_array() } } else { diff --git a/crates/tools/riddle/src/rust/writer.rs b/crates/tools/riddle/src/rust/writer.rs index a1fa3d320b..d4a6dec10a 100644 --- a/crates/tools/riddle/src/rust/writer.rs +++ b/crates/tools/riddle/src/rust/writer.rs @@ -1135,7 +1135,7 @@ impl<'a> Writer<'a> { SignatureParamKind::ArrayFixed(fixed) => { let ty = param.ty.deref(); let ty = self.type_default_name(&ty); - let len = Literal::u32_unsuffixed(fixed as _); + let len = Literal::u32_unsuffixed(fixed as u32); let ty = if self .reader .param_flags(param.def) diff --git a/crates/tools/riddle/src/winmd/to_winmd.rs b/crates/tools/riddle/src/winmd/to_winmd.rs index a80f494945..376db4f8d4 100644 --- a/crates/tools/riddle/src/winmd/to_winmd.rs +++ b/crates/tools/riddle/src/winmd/to_winmd.rs @@ -35,9 +35,9 @@ pub fn from_reader( writer.tables.TypeDef.push(writer::TypeDef { Extends: extends, - FieldList: writer.tables.Field.len() as _, + FieldList: writer.tables.Field.len() as u32, Flags: reader.type_def_flags(def).0, - MethodList: writer.tables.MethodDef.len() as _, + MethodList: writer.tables.MethodDef.len() as u32, TypeName: writer.strings.insert(reader.type_def_name(def)), TypeNamespace: writer.strings.insert(reader.type_def_namespace(def)), }); @@ -67,13 +67,13 @@ pub fn from_reader( Flags: 0, Name: writer.strings.insert(name), Signature: signature, - ParamList: writer.tables.Param.len() as _, + ParamList: writer.tables.Param.len() as u32, }); for (sequence, param) in sig.params.iter().enumerate() { writer.tables.Param.push(writer::Param { Flags: 0, - Sequence: (sequence + 1) as _, + Sequence: (sequence + 1) as u16, Name: writer.strings.insert(¶m.name), }); } diff --git a/crates/tools/riddle/src/winmd/writer/blobs.rs b/crates/tools/riddle/src/winmd/writer/blobs.rs index aed9d65ed9..237198665f 100644 --- a/crates/tools/riddle/src/winmd/writer/blobs.rs +++ b/crates/tools/riddle/src/winmd/writer/blobs.rs @@ -23,19 +23,19 @@ impl Blobs { match self.map.entry(value.to_vec()) { Entry::Vacant(entry) => { - let offset = *entry.insert(self.stream.len() as _); + let offset = *entry.insert(self.stream.len() as u32); let len = value.len(); match len { - 0..=0x7F => self.stream.push(len as _), + 0..=0x7F => self.stream.push(len as u8), 0x80..=0x3FFF => { - self.stream.push((0x80 | len >> 8) as _); - self.stream.push((0xFF & len) as _); + self.stream.push((0x80 | len >> 8) as u8); + self.stream.push((0xFF & len) as u8); } _ => { - self.stream.push((0xC0 | len >> 24) as _); - self.stream.push((0xFF & len >> 16) as _); - self.stream.push((0xFF & len >> 8) as _); - self.stream.push((0xFF & len) as _); + self.stream.push((0xC0 | len >> 24) as u8); + self.stream.push((0xFF & len >> 16) as u8); + self.stream.push((0xFF & len >> 8) as u8); + self.stream.push((0xFF & len) as u8); } } self.stream.extend_from_slice(value); diff --git a/crates/tools/riddle/src/winmd/writer/file.rs b/crates/tools/riddle/src/winmd/writer/file.rs index 73141bcdb0..e1099003b8 100644 --- a/crates/tools/riddle/src/winmd/writer/file.rs +++ b/crates/tools/riddle/src/winmd/writer/file.rs @@ -5,7 +5,7 @@ use std::mem::*; pub fn write(mut tables: Vec, mut strings: Vec, mut blobs: Vec) -> Vec { if [tables.len(), strings.len(), blobs.len()] .iter() - .any(|len| *len > u32::MAX as _) + .any(|len| *len > u32::MAX as usize) { panic!("heap too large"); } @@ -15,14 +15,14 @@ pub fn write(mut tables: Vec, mut strings: Vec, mut blobs: Vec) -> V let size_of_streams = tables.len() + guids.len() + strings.len() + blobs.len(); let mut dos: IMAGE_DOS_HEADER = zeroed(); - dos.e_magic = IMAGE_DOS_SIGNATURE as _; + dos.e_magic = IMAGE_DOS_SIGNATURE; dos.e_lfarlc = 64; - dos.e_lfanew = size_of::() as _; + dos.e_lfanew = size_of::() as i32; let mut file: IMAGE_FILE_HEADER = zeroed(); file.Machine = IMAGE_FILE_MACHINE_I386; file.NumberOfSections = 1; - file.SizeOfOptionalHeader = size_of::() as _; + file.SizeOfOptionalHeader = size_of::() as u16; file.Characteristics = IMAGE_FILE_DLL | IMAGE_FILE_32BIT_MACHINE | IMAGE_FILE_EXECUTABLE_IMAGE; @@ -53,7 +53,7 @@ pub fn write(mut tables: Vec, mut strings: Vec, mut blobs: Vec) -> V section.VirtualAddress = SECTION_ALIGNMENT; let mut clr: IMAGE_COR20_HEADER = zeroed(); - clr.cb = size_of::() as _; + clr.cb = size_of::() as u32; clr.MajorRuntimeVersion = 2; clr.MinorRuntimeVersion = 5; clr.Flags = 1; @@ -83,14 +83,16 @@ pub fn write(mut tables: Vec, mut strings: Vec, mut blobs: Vec) -> V + size_of_stream_headers + size_of_streams; - optional.SizeOfImage = round(size_of_image, optional.SectionAlignment as _) as _; + optional.SizeOfImage = round(size_of_image, optional.SectionAlignment as usize) as u32; section.Misc.VirtualSize = size_of_image as u32 - optional.FileAlignment; - section.SizeOfRawData = - round(section.Misc.VirtualSize as _, optional.FileAlignment as _) as _; + section.SizeOfRawData = round( + section.Misc.VirtualSize as usize, + optional.FileAlignment as usize, + ) as u32; optional.DataDirectory[14] = IMAGE_DATA_DIRECTORY { VirtualAddress: SECTION_ALIGNMENT, - Size: size_of::() as _, + Size: size_of::() as u32, }; section.PointerToRawData = optional.FileAlignment; clr.MetaData.VirtualAddress = SECTION_ALIGNMENT + size_of::() as u32; @@ -103,26 +105,29 @@ pub fn write(mut tables: Vec, mut strings: Vec, mut blobs: Vec) -> V buffer.write_header(&file); buffer.write_header(&optional); buffer.write_header(§ion); - debug_assert!(buffer.len() < optional.FileAlignment as _); - buffer.resize(optional.FileAlignment as _, 0); + debug_assert!(buffer.len() < optional.FileAlignment as usize); + buffer.resize(optional.FileAlignment as usize, 0); buffer.write_header(&clr); let metadata_offset = buffer.len(); buffer.write_header(&metadata); let stream_offset = buffer.len() - metadata_offset + size_of_stream_headers; - let tables_header = TablesHeader::new(stream_offset as _, tables.len() as _, b"#~\0\0"); + let tables_header = TablesHeader::new(stream_offset as u32, tables.len() as u32, b"#~\0\0"); let strings_header = StringsHeader::new( tables_header.next_offset(), - strings.len() as _, + strings.len() as u32, b"#Strings\0\0\0\0", ); let guids_header = GuidsHeader::new( strings_header.next_offset(), - guids.len() as _, + guids.len() as u32, b"#GUID\0\0\0", ); - let blobs_header = - BlobsHeader::new(guids_header.next_offset(), blobs.len() as _, b"#Blob\0\0\0"); + let blobs_header = BlobsHeader::new( + guids_header.next_offset(), + blobs.len() as u32, + b"#Blob\0\0\0", + ); buffer.write_header(&tables_header); buffer.write_header(&strings_header); diff --git a/crates/tools/riddle/src/winmd/writer/mod.rs b/crates/tools/riddle/src/winmd/writer/mod.rs index 0c32c68d89..08add4c3d0 100644 --- a/crates/tools/riddle/src/winmd/writer/mod.rs +++ b/crates/tools/riddle/src/winmd/writer/mod.rs @@ -91,8 +91,8 @@ impl Writer { // TypeName: self.strings.insert(name), // TypeNamespace: self.strings.insert(namespace), // Extends: extends, - // FieldList: self.tables.Field.len() as _, - // MethodList: self.tables.MethodDef.len() as _, + // FieldList: self.tables.Field.len() as u32, + // MethodList: self.tables.MethodDef.len() as u32, // }); // for field in &def.fields { // let blob = self.insert_field_sig(&field.ty); @@ -104,9 +104,9 @@ impl Writer { // } // for method in &def.methods { // let blob = self.insert_method_sig(method); - // self.tables.MethodDef.push(MethodDef { RVA: 0, ImplFlags: 0, Flags: method.flags.0, Name: self.strings.insert(&method.name), Signature: blob, ParamList: self.tables.Param.len() as _ }); + // self.tables.MethodDef.push(MethodDef { RVA: 0, ImplFlags: 0, Flags: method.flags.0, Name: self.strings.insert(&method.name), Signature: blob, ParamList: self.tables.Param.len() as u32 }); // for (sequence, param) in method.params.iter().enumerate() { - // self.tables.Param.push(Param { Flags: param.flags.0, Sequence: (sequence + 1) as _, Name: self.strings.insert(¶m.name) }); + // self.tables.Param.push(Param { Flags: param.flags.0, Sequence: (sequence + 1) as u32, Name: self.strings.insert(¶m.name) }); // } // } // } @@ -233,91 +233,91 @@ impl Writer { fn type_blob(&mut self, ty: &Type, blob: &mut Vec) { match ty { - Type::Void => blob.push(ELEMENT_TYPE_VOID as _), - Type::Bool => blob.push(ELEMENT_TYPE_BOOLEAN as _), - Type::Char => blob.push(ELEMENT_TYPE_CHAR as _), - Type::I8 => blob.push(ELEMENT_TYPE_I1 as _), - Type::U8 => blob.push(ELEMENT_TYPE_U1 as _), - Type::I16 => blob.push(ELEMENT_TYPE_I2 as _), - Type::U16 => blob.push(ELEMENT_TYPE_U2 as _), - Type::I32 => blob.push(ELEMENT_TYPE_I4 as _), - Type::U32 => blob.push(ELEMENT_TYPE_U4 as _), - Type::I64 => blob.push(ELEMENT_TYPE_I8 as _), - Type::U64 => blob.push(ELEMENT_TYPE_U8 as _), - Type::F32 => blob.push(ELEMENT_TYPE_R4 as _), - Type::F64 => blob.push(ELEMENT_TYPE_R8 as _), - Type::ISize => blob.push(ELEMENT_TYPE_I as _), - Type::USize => blob.push(ELEMENT_TYPE_U as _), - Type::String => blob.push(ELEMENT_TYPE_STRING as _), - Type::IInspectable => blob.push(ELEMENT_TYPE_OBJECT as _), + Type::Void => blob.push(ELEMENT_TYPE_VOID), + Type::Bool => blob.push(ELEMENT_TYPE_BOOLEAN), + Type::Char => blob.push(ELEMENT_TYPE_CHAR), + Type::I8 => blob.push(ELEMENT_TYPE_I1), + Type::U8 => blob.push(ELEMENT_TYPE_U1), + Type::I16 => blob.push(ELEMENT_TYPE_I2), + Type::U16 => blob.push(ELEMENT_TYPE_U2), + Type::I32 => blob.push(ELEMENT_TYPE_I4), + Type::U32 => blob.push(ELEMENT_TYPE_U4), + Type::I64 => blob.push(ELEMENT_TYPE_I8), + Type::U64 => blob.push(ELEMENT_TYPE_U8), + Type::F32 => blob.push(ELEMENT_TYPE_R4), + Type::F64 => blob.push(ELEMENT_TYPE_R8), + Type::ISize => blob.push(ELEMENT_TYPE_I), + Type::USize => blob.push(ELEMENT_TYPE_U), + Type::String => blob.push(ELEMENT_TYPE_STRING), + Type::IInspectable => blob.push(ELEMENT_TYPE_OBJECT), Type::GUID => { let code = self.insert_type_ref("System", "Guid"); - blob.push(ELEMENT_TYPE_VALUETYPE as _); - usize_blob(code as _, blob); + blob.push(ELEMENT_TYPE_VALUETYPE); + usize_blob(code as usize, blob); } Type::HRESULT => { let code = self.insert_type_ref("Windows.Foundation", "HResult"); - blob.push(ELEMENT_TYPE_VALUETYPE as _); - usize_blob(code as _, blob); + blob.push(ELEMENT_TYPE_VALUETYPE); + usize_blob(code as usize, blob); } Type::TypeRef(ty) => { let code = self.insert_type_ref(&ty.namespace, &ty.name); - blob.push(ELEMENT_TYPE_VALUETYPE as _); - usize_blob(code as _, blob); + blob.push(ELEMENT_TYPE_VALUETYPE); + usize_blob(code as usize, blob); } Type::BSTR => { let code = self.insert_type_ref("Windows.Win32.Foundation", "BSTR"); - blob.push(ELEMENT_TYPE_VALUETYPE as _); - usize_blob(code as _, blob); + blob.push(ELEMENT_TYPE_VALUETYPE); + usize_blob(code as usize, blob); } Type::IUnknown => { let code = self.insert_type_ref("Windows.Win32.Foundation", "IUnknown"); - blob.push(ELEMENT_TYPE_VALUETYPE as _); - usize_blob(code as _, blob); + blob.push(ELEMENT_TYPE_VALUETYPE); + usize_blob(code as usize, blob); } Type::PCWSTR | Type::PWSTR => { let code = self.insert_type_ref("Windows.Win32.Foundation", "PWSTR"); - blob.push(ELEMENT_TYPE_VALUETYPE as _); - usize_blob(code as _, blob); + blob.push(ELEMENT_TYPE_VALUETYPE); + usize_blob(code as usize, blob); } Type::PCSTR | Type::PSTR => { let code = self.insert_type_ref("Windows.Win32.Foundation", "PSTR"); - blob.push(ELEMENT_TYPE_VALUETYPE as _); - usize_blob(code as _, blob); + blob.push(ELEMENT_TYPE_VALUETYPE); + usize_blob(code as usize, blob); } Type::ConstRef(ty) => { - usize_blob(ELEMENT_TYPE_CMOD_OPT as _, blob); + usize_blob(ELEMENT_TYPE_CMOD_OPT as usize, blob); usize_blob( - self.insert_type_ref("System.Runtime.CompilerServices", "IsConst") as _, + self.insert_type_ref("System.Runtime.CompilerServices", "IsConst") as usize, blob, ); - usize_blob(ELEMENT_TYPE_BYREF as _, blob); + usize_blob(ELEMENT_TYPE_BYREF as usize, blob); self.type_blob(ty, blob); } Type::WinrtArrayRef(ty) => { - usize_blob(ELEMENT_TYPE_BYREF as _, blob); - usize_blob(ELEMENT_TYPE_SZARRAY as _, blob); + usize_blob(ELEMENT_TYPE_BYREF as usize, blob); + usize_blob(ELEMENT_TYPE_SZARRAY as usize, blob); self.type_blob(ty, blob); } Type::WinrtArray(ty) => { - usize_blob(ELEMENT_TYPE_SZARRAY as _, blob); + usize_blob(ELEMENT_TYPE_SZARRAY as usize, blob); self.type_blob(ty, blob); } Type::Win32Array(ty, bounds) => { - usize_blob(ELEMENT_TYPE_ARRAY as _, blob); + usize_blob(ELEMENT_TYPE_ARRAY as usize, blob); self.type_blob(ty, blob); usize_blob(1, blob); // rank usize_blob(1, blob); // count - usize_blob(*bounds as _, blob); + usize_blob(*bounds, blob); } Type::TypeName => { let code = self.insert_type_ref("System", "Type"); - blob.push(ELEMENT_TYPE_CLASS as _); - usize_blob(code as _, blob); + blob.push(ELEMENT_TYPE_CLASS); + usize_blob(code as usize, blob); } Type::MutPtr(ty, pointers) | Type::ConstPtr(ty, pointers) => { for _ in 0..*pointers { - usize_blob(ELEMENT_TYPE_PTR as _, blob); + usize_blob(ELEMENT_TYPE_PTR as usize, blob); } self.type_blob(ty, blob); } @@ -336,15 +336,15 @@ fn usize_blob(value: usize, blob: &mut Vec) { assert!(value < 0x20000000); if value < 0x80 { - blob.push(value as _); + blob.push(value as u8); } else if value < 0x4000 { - blob.push((0x80 | (value & 0x3F00) >> 8) as _); - blob.push((value & 0xFF) as _); + blob.push((0x80 | (value & 0x3F00) >> 8) as u8); + blob.push((value & 0xFF) as u8); } else { - blob.push((0xC0 | (value & 0x1F000000) >> 24) as _); - blob.push(((value & 0xFF0000) >> 16) as _); - blob.push(((value & 0xFF00) >> 8) as _); - blob.push((value & 0xFF) as _); + blob.push((0xC0 | (value & 0x1F000000) >> 24) as u8); + blob.push(((value & 0xFF0000) >> 16) as u8); + blob.push(((value & 0xFF00) >> 8) as u8); + blob.push((value & 0xFF) as u8); } } diff --git a/crates/tools/riddle/src/winmd/writer/strings.rs b/crates/tools/riddle/src/winmd/writer/strings.rs index 278bd4bbca..83019a240f 100644 --- a/crates/tools/riddle/src/winmd/writer/strings.rs +++ b/crates/tools/riddle/src/winmd/writer/strings.rs @@ -23,7 +23,7 @@ impl Strings { match self.map.entry(value.to_string()) { Entry::Vacant(entry) => { - let offset = *entry.insert(self.stream.len() as _); + let offset = *entry.insert(self.stream.len() as u32); self.stream.extend_from_slice(value.as_bytes()); self.stream.push(0); offset diff --git a/crates/tools/riddle/src/winmd/writer/tables.rs b/crates/tools/riddle/src/winmd/writer/tables.rs index 3f5aec4a12..3efe622b75 100644 --- a/crates/tools/riddle/src/winmd/writer/tables.rs +++ b/crates/tools/riddle/src/winmd/writer/tables.rs @@ -198,7 +198,7 @@ impl Tables { self.TypeSpec.len(), ] .iter() - .any(|len| *len > u32::MAX as _) + .any(|len| *len > u32::MAX as usize) { panic!("metadata table too large"); } @@ -247,25 +247,25 @@ impl Tables { // Followed by the length of each of the valid tables... - buffer.write_u32(self.Module.len() as _); - buffer.write_u32(self.TypeRef.len() as _); - buffer.write_u32(self.TypeDef.len() as _); - buffer.write_u32(self.Field.len() as _); - buffer.write_u32(self.MethodDef.len() as _); - buffer.write_u32(self.Param.len() as _); - buffer.write_u32(self.InterfaceImpl.len() as _); - buffer.write_u32(self.MemberRef.len() as _); - buffer.write_u32(self.Constant.len() as _); - buffer.write_u32(self.CustomAttribute.len() as _); - buffer.write_u32(self.ClassLayout.len() as _); - buffer.write_u32(self.Property.len() as _); - buffer.write_u32(self.ModuleRef.len() as _); - buffer.write_u32(self.TypeSpec.len() as _); - buffer.write_u32(self.ImplMap.len() as _); - buffer.write_u32(self.Assembly.len() as _); - buffer.write_u32(self.AssemblyRef.len() as _); - buffer.write_u32(self.NestedClass.len() as _); - buffer.write_u32(self.GenericParam.len() as _); + buffer.write_u32(self.Module.len() as u32); + buffer.write_u32(self.TypeRef.len() as u32); + buffer.write_u32(self.TypeDef.len() as u32); + buffer.write_u32(self.Field.len() as u32); + buffer.write_u32(self.MethodDef.len() as u32); + buffer.write_u32(self.Param.len() as u32); + buffer.write_u32(self.InterfaceImpl.len() as u32); + buffer.write_u32(self.MemberRef.len() as u32); + buffer.write_u32(self.Constant.len() as u32); + buffer.write_u32(self.CustomAttribute.len() as u32); + buffer.write_u32(self.ClassLayout.len() as u32); + buffer.write_u32(self.Property.len() as u32); + buffer.write_u32(self.ModuleRef.len() as u32); + buffer.write_u32(self.TypeSpec.len() as u32); + buffer.write_u32(self.ImplMap.len() as u32); + buffer.write_u32(self.Assembly.len() as u32); + buffer.write_u32(self.AssemblyRef.len() as u32); + buffer.write_u32(self.NestedClass.len() as u32); + buffer.write_u32(self.GenericParam.len() as u32); // Followed by each table's rows... diff --git a/crates/tools/riddle/src/winmd/writer/traits.rs b/crates/tools/riddle/src/winmd/writer/traits.rs index f718d89bbf..85cdff39c9 100644 --- a/crates/tools/riddle/src/winmd/writer/traits.rs +++ b/crates/tools/riddle/src/winmd/writer/traits.rs @@ -37,7 +37,7 @@ impl Write for Vec { fn write_code(&mut self, value: u32, size: usize) { if size == 2 { - self.write_u16(value as _); + self.write_u16(value as u16); } else { self.write_u32(value); } @@ -64,6 +64,6 @@ pub trait Push2 { impl Push2 for Vec { fn push2(&mut self, value: T) -> u32 { self.push(value); - (self.len() - 1) as _ + (self.len() - 1) as u32 } }