Skip to content

Commit

Permalink
Fixed transmute clippy lint warnings.
Browse files Browse the repository at this point in the history
The toolchain bump from 1.79 to 1.82 introduced a new clippy lint
regarding transmutes. This commit fixes the emitted lint warnings.
  • Loading branch information
Ioan-Cristian CÎRSTEA committed Jan 16, 2025
1 parent 7576183 commit 0c7862a
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 14 deletions.
14 changes: 9 additions & 5 deletions platform/src/command_return.rs
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ impl CommandReturn {
if !self.is_failure() {
return None;
}
Some(unsafe { transmute(self.r1) })
Some(unsafe { transmute::<u32, ErrorCode>(self.r1) })
}

/// Returns the error code and value if this CommandReturn is of type
Expand All @@ -148,7 +148,7 @@ impl CommandReturn {
if !self.is_failure_u32() {
return None;
}
Some((unsafe { transmute(self.r1) }, self.r2))
Some((unsafe { transmute::<u32, ErrorCode>(self.r1) }, self.r2))
}

/// Returns the error code and return values if this CommandReturn is of
Expand All @@ -157,7 +157,11 @@ impl CommandReturn {
if !self.is_failure_2_u32() {
return None;
}
Some((unsafe { transmute(self.r1) }, self.r2, self.r3))
Some((
unsafe { transmute::<u32, ErrorCode>(self.r1) },
self.r2,
self.r3,
))
}

/// Returns the error code and return value if this CommandReturn is of type
Expand All @@ -167,7 +171,7 @@ impl CommandReturn {
return None;
}
Some((
unsafe { transmute(self.r1) },
unsafe { transmute::<u32, ErrorCode>(self.r1) },
self.r2 as u64 + ((self.r3 as u64) << 32),
))
}
Expand Down Expand Up @@ -244,7 +248,7 @@ impl CommandReturn {
let ec: ErrorCode = if return_variant == E::RETURN_VARIANT {
// Safety: E::RETURN_VARIANT must be a failure variant, and
// failure variants must contain a valid ErrorCode in r1.
unsafe { transmute(r1) }
unsafe { transmute::<u32, ErrorCode>(r1) }
} else {
r2 = 0;
r3 = 0;
Expand Down
2 changes: 1 addition & 1 deletion platform/src/error_code.rs
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ impl TryFrom<u32> for ErrorCode {

fn try_from(value: u32) -> Result<Self, Self::Error> {
if (1..=1024).contains(&value) {
Ok(unsafe { transmute(value) })
Ok(unsafe { transmute::<u32, ErrorCode>(value) })
} else {
Err(NotAnErrorCode)
}
Expand Down
16 changes: 8 additions & 8 deletions platform/src/syscalls_impl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ impl<S: RawSyscalls> Syscalls for S {
// then r1 will contain a valid error code. ErrorCode is
// designed to be safely transmuted directly from a kernel error
// code.
return Err(unsafe { core::mem::transmute(r1.as_u32()) });
return Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) });
}

// r0 indicates Success with 2 u32s. Confirm the null upcall was
Expand Down Expand Up @@ -231,7 +231,7 @@ impl<S: RawSyscalls> Syscalls for S {
// then r1 will contain a valid error code. ErrorCode is
// designed to be safely transmuted directly from a kernel error
// code.
return Err(unsafe { core::mem::transmute(r1.as_u32()) });
return Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) });
}

// r0 indicates Success with 2 u32s. Confirm a zero buffer was
Expand Down Expand Up @@ -318,7 +318,7 @@ impl<S: RawSyscalls> Syscalls for S {
// then r1 will contain a valid error code. ErrorCode is
// designed to be safely transmuted directly from a kernel error
// code.
return Err(unsafe { core::mem::transmute(r1.as_u32()) });
return Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) });
}

// r0 indicates Success with 2 u32s. Confirm a zero buffer was
Expand Down Expand Up @@ -380,7 +380,7 @@ impl<S: RawSyscalls> Syscalls for S {
// then r1 will contain a valid error code. ErrorCode is
// designed to be safely transmuted directly from a kernel error
// code.
Err(unsafe { core::mem::transmute(r1.as_u32()) })
Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) })
} else {
Ok(())
}
Expand All @@ -407,7 +407,7 @@ impl<S: RawSyscalls> Syscalls for S {
// then r1 will contain a valid error code. ErrorCode is
// designed to be safely transmuted directly from a kernel error
// code.
Err(unsafe { core::mem::transmute(r1.as_u32()) })
Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) })
} else {
Ok(r1.into())
}
Expand Down Expand Up @@ -436,7 +436,7 @@ impl<S: RawSyscalls> Syscalls for S {
// then r1 will contain a valid error code. ErrorCode is
// designed to be safely transmuted directly from a kernel error
// code.
Err(unsafe { core::mem::transmute(r1.as_u32()) })
Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) })
} else {
Ok(r1.into())
}
Expand Down Expand Up @@ -464,7 +464,7 @@ impl<S: RawSyscalls> Syscalls for S {
// then r1 will contain a valid error code. ErrorCode is
// designed to be safely transmuted directly from a kernel error
// code.
Err(unsafe { core::mem::transmute(r1.as_u32()) })
Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) })
} else {
Ok(())
}
Expand Down Expand Up @@ -493,7 +493,7 @@ impl<S: RawSyscalls> Syscalls for S {
// then r1 will contain a valid error code. ErrorCode is
// designed to be safely transmuted directly from a kernel error
// code.
Err(unsafe { core::mem::transmute(r1.as_u32()) })
Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) })
} else {
Ok(())
}
Expand Down

0 comments on commit 0c7862a

Please sign in to comment.