Skip to content

Commit 3f8049e

Browse files
xtask: Replace addr_of with raw pointer syntax
1 parent 4511623 commit 3f8049e

4 files changed

Lines changed: 20 additions & 22 deletions

File tree

uefi/src/proto/device_path/device_path_gen.rs

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ use crate::proto::device_path::{
1616
};
1717
use crate::{Guid, guid};
1818
use bitflags::bitflags;
19-
use core::ptr::addr_of;
2019
use core::{fmt, slice};
2120
use ptr_meta::Pointee;
2221
use uefi_raw::IpAddress;
@@ -274,7 +273,7 @@ pub mod hardware {
274273
f.debug_struct("Vendor")
275274
.field("vendor_guid", &{ self.vendor_guid })
276275
.field("vendor_defined_data", &{
277-
let ptr = addr_of!(self.vendor_defined_data);
276+
let ptr = &raw const self.vendor_defined_data;
278277
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
279278
let byte_len = size_of::<u8>() * len;
280279
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }
@@ -570,7 +569,7 @@ pub mod acpi {
570569
/// ADR value is required.
571570
#[must_use]
572571
pub fn adr(&self) -> UnalignedSlice<'_, u32> {
573-
let ptr: *const [u32] = addr_of!(self.adr);
572+
let ptr: *const [u32] = &raw const self.adr;
574573
let (ptr, len): (*const (), usize) = ptr_meta::to_raw_parts(ptr);
575574
unsafe { UnalignedSlice::new(ptr.cast::<u32>(), len) }
576575
}
@@ -580,7 +579,7 @@ pub mod acpi {
580579
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
581580
f.debug_struct("Adr")
582581
.field("adr", &{
583-
let ptr = addr_of!(self.adr);
582+
let ptr = &raw const self.adr;
584583
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
585584
let byte_len = size_of::<u32>() * len;
586585
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }
@@ -1174,7 +1173,7 @@ pub mod messaging {
11741173
/// Last 64 (or fewer) characters of the USB Serial number.
11751174
#[must_use]
11761175
pub fn serial_number(&self) -> UnalignedSlice<'_, u16> {
1177-
let ptr: *const [u16] = addr_of!(self.serial_number);
1176+
let ptr: *const [u16] = &raw const self.serial_number;
11781177
let (ptr, len): (*const (), usize) = ptr_meta::to_raw_parts(ptr);
11791178
unsafe { UnalignedSlice::new(ptr.cast::<u16>(), len) }
11801179
}
@@ -1187,7 +1186,7 @@ pub mod messaging {
11871186
.field("device_vendor_id", &{ self.device_vendor_id })
11881187
.field("device_product_id", &{ self.device_product_id })
11891188
.field("serial_number", &{
1190-
let ptr = addr_of!(self.serial_number);
1189+
let ptr = &raw const self.serial_number;
11911190
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
11921191
let byte_len = size_of::<u16>() * len;
11931192
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }
@@ -1841,7 +1840,7 @@ pub mod messaging {
18411840
f.debug_struct("Vendor")
18421841
.field("vendor_guid", &{ self.vendor_guid })
18431842
.field("vendor_defined_data", &{
1844-
let ptr = addr_of!(self.vendor_defined_data);
1843+
let ptr = &raw const self.vendor_defined_data;
18451844
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
18461845
let byte_len = size_of::<u8>() * len;
18471846
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }
@@ -1997,7 +1996,7 @@ pub mod messaging {
19971996
.field("logical_unit_number", &{ self.logical_unit_number })
19981997
.field("target_portal_group_tag", &{ self.target_portal_group_tag })
19991998
.field("iscsi_target_name", &{
2000-
let ptr = addr_of!(self.iscsi_target_name);
1999+
let ptr = &raw const self.iscsi_target_name;
20012000
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
20022001
let byte_len = size_of::<u8>() * len;
20032002
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }
@@ -2104,7 +2103,7 @@ pub mod messaging {
21042103
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
21052104
f.debug_struct("Uri")
21062105
.field("value", &{
2107-
let ptr = addr_of!(self.value);
2106+
let ptr = &raw const self.value;
21082107
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
21092108
let byte_len = size_of::<u8>() * len;
21102109
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }
@@ -2424,7 +2423,7 @@ pub mod messaging {
24242423
/// One or more instances of the DNS server address.
24252424
#[must_use]
24262425
pub fn addresses(&self) -> UnalignedSlice<'_, IpAddress> {
2427-
let ptr: *const [IpAddress] = addr_of!(self.addresses);
2426+
let ptr: *const [IpAddress] = &raw const self.addresses;
24282427
let (ptr, len): (*const (), usize) = ptr_meta::to_raw_parts(ptr);
24292428
unsafe { UnalignedSlice::new(ptr.cast::<IpAddress>(), len) }
24302429
}
@@ -2435,7 +2434,7 @@ pub mod messaging {
24352434
f.debug_struct("Dns")
24362435
.field("address_type", &{ self.address_type })
24372436
.field("addresses", &{
2438-
let ptr = addr_of!(self.addresses);
2437+
let ptr = &raw const self.addresses;
24392438
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
24402439
let byte_len = size_of::<IpAddress>() * len;
24412440
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }
@@ -2540,7 +2539,7 @@ pub mod messaging {
25402539
.field("service_type", &{ self.service_type })
25412540
.field("access_mode", &{ self.access_mode })
25422541
.field("vendor_guid_and_data", &{
2543-
let ptr = addr_of!(self.vendor_guid_and_data);
2542+
let ptr = &raw const self.vendor_guid_and_data;
25442543
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
25452544
let byte_len = size_of::<u8>() * len;
25462545
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }
@@ -2611,7 +2610,7 @@ pub mod messaging {
26112610
.field("nidt", &{ self.nidt })
26122611
.field("nid", &{ self.nid })
26132612
.field("subsystem_nqn", &{
2614-
let ptr = addr_of!(self.subsystem_nqn);
2613+
let ptr = &raw const self.subsystem_nqn;
26152614
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
26162615
let byte_len = size_of::<u8>() * len;
26172616
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }
@@ -2888,7 +2887,7 @@ pub mod media {
28882887
f.debug_struct("Vendor")
28892888
.field("vendor_guid", &{ self.vendor_guid })
28902889
.field("vendor_defined_data", &{
2891-
let ptr = addr_of!(self.vendor_defined_data);
2890+
let ptr = &raw const self.vendor_defined_data;
28922891
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
28932892
let byte_len = size_of::<u8>() * len;
28942893
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }
@@ -2933,7 +2932,7 @@ pub mod media {
29332932
/// Null-terminated path.
29342933
#[must_use]
29352934
pub fn path_name(&self) -> UnalignedSlice<'_, u16> {
2936-
let ptr: *const [u16] = addr_of!(self.path_name);
2935+
let ptr: *const [u16] = &raw const self.path_name;
29372936
let (ptr, len): (*const (), usize) = ptr_meta::to_raw_parts(ptr);
29382937
unsafe { UnalignedSlice::new(ptr.cast::<u16>(), len) }
29392938
}
@@ -2943,7 +2942,7 @@ pub mod media {
29432942
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
29442943
f.debug_struct("FilePath")
29452944
.field("path_name", &{
2946-
let ptr = addr_of!(self.path_name);
2945+
let ptr = &raw const self.path_name;
29472946
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
29482947
let byte_len = size_of::<u16>() * len;
29492948
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }
@@ -3038,7 +3037,7 @@ pub mod media {
30383037
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
30393038
f.debug_struct("PiwgFirmwareFile")
30403039
.field("data", &{
3041-
let ptr = addr_of!(self.data);
3040+
let ptr = &raw const self.data;
30423041
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
30433042
let byte_len = size_of::<u8>() * len;
30443043
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }
@@ -3092,7 +3091,7 @@ pub mod media {
30923091
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
30933092
f.debug_struct("PiwgFirmwareVolume")
30943093
.field("data", &{
3095-
let ptr = addr_of!(self.data);
3094+
let ptr = &raw const self.data;
30963095
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
30973096
let byte_len = size_of::<u8>() * len;
30983097
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }
@@ -3332,7 +3331,7 @@ pub mod bios_boot_spec {
33323331
.field("device_type", &{ self.device_type })
33333332
.field("status_flag", &{ self.status_flag })
33343333
.field("description_string", &{
3335-
let ptr = addr_of!(self.description_string);
3334+
let ptr = &raw const self.description_string;
33363335
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
33373336
let byte_len = size_of::<u8>() * len;
33383337
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }

xtask/src/device_path/field.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ impl NodeField {
266266
// unaligned, so use `UnalignedSlice`.
267267
ret_type = quote!(UnalignedSlice<'_, #slice_elem>);
268268
ret_val = quote!(
269-
let ptr: *const [#slice_elem] = addr_of!(self.#field_name);
269+
let ptr: *const [#slice_elem] = &raw const self.#field_name;
270270
let (ptr, len): (*const (), usize) = ptr_meta::to_raw_parts(ptr);
271271
unsafe {
272272
UnalignedSlice::new(ptr.cast::<#slice_elem>(), len)

xtask/src/device_path/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ fn gen_uefi_code_as_string(groups: &[NodeGroup]) -> Result<String> {
8080
NodeConversionError,
8181
};
8282
use crate::mem::memory_map::MemoryType;
83-
use core::ptr::addr_of;
8483
use core::{fmt, slice};
8584
use ptr_meta::Pointee;
8685
use uefi_raw::IpAddress;

xtask/src/device_path/node.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ impl Node {
209209
// the slice might be unaligned. Treat it as a byte
210210
// slice instead.
211211
quote!(&{
212-
let ptr = addr_of!(#field_val);
212+
let ptr = &raw const #field_val;
213213
let (ptr, len) = ptr_meta::to_raw_parts(ptr);
214214
let byte_len = size_of::<#slice_elem_ty>() * len;
215215
unsafe { slice::from_raw_parts(ptr.cast::<u8>(), byte_len) }

0 commit comments

Comments
 (0)