diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs index 926fd020df99..0e8521633a09 100644 --- a/src/unix/bsd/freebsdlike/freebsd/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs @@ -4377,19 +4377,19 @@ f! { } pub unsafe fn CPU_SET(cpu: usize, cpuset: &mut cpuset_t) -> () { - let bitset_bits = 8 * size_of::(); + let bitset_bits = 8 * size_of_val(&cpuset.__bits[0]); let (idx, offset) = (cpu / bitset_bits, cpu % bitset_bits); cpuset.__bits[idx] |= 1 << offset; } pub unsafe fn CPU_CLR(cpu: usize, cpuset: &mut cpuset_t) -> () { - let bitset_bits = 8 * size_of::(); + let bitset_bits = 8 * size_of_val(&cpuset.__bits[0]); let (idx, offset) = (cpu / bitset_bits, cpu % bitset_bits); cpuset.__bits[idx] &= !(1 << offset); } pub unsafe fn CPU_ISSET(cpu: usize, cpuset: &cpuset_t) -> bool { - let bitset_bits = 8 * size_of::(); + let bitset_bits = 8 * size_of_val(&cpuset.__bits[0]); let (idx, offset) = (cpu / bitset_bits, cpu % bitset_bits); 0 != cpuset.__bits[idx] & (1 << offset) } @@ -4397,7 +4397,7 @@ f! { pub unsafe fn CPU_COUNT(cpuset: &cpuset_t) -> c_int { let mut s: u32 = 0; let cpuset_size = size_of::(); - let bitset_size = size_of::(); + let bitset_size = size_of_val(&cpuset.__bits[0]); for i in &cpuset.__bits[..(cpuset_size / bitset_size)] { s += i.count_ones(); } diff --git a/src/unix/hurd/mod.rs b/src/unix/hurd/mod.rs index 41547488a86c..9da69b287167 100644 --- a/src/unix/hurd/mod.rs +++ b/src/unix/hurd/mod.rs @@ -2579,7 +2579,7 @@ pub const SCHED_FIFO: c_int = 1; pub const SCHED_RR: c_int = 2; pub const _BITS_TYPES_STRUCT_SCHED_PARAM: usize = 1; pub const __CPU_SETSIZE: usize = 1024; -pub const __NCPUBITS: usize = 8 * size_of::<__cpu_mask>(); +pub const __NCPUBITS: usize = __cpu_mask::BITS as usize; pub const CPU_SETSIZE: usize = 1024; // pthread.h