Skip to content

Commit 0c7862a

Browse files
author
Ioan-Cristian CÎRSTEA
committed
Fixed transmute clippy lint warnings.
The toolchain bump from 1.79 to 1.82 introduced a new clippy lint regarding transmutes. This commit fixes the emitted lint warnings.
1 parent 7576183 commit 0c7862a

File tree

3 files changed

+18
-14
lines changed

3 files changed

+18
-14
lines changed

platform/src/command_return.rs

+9-5
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ impl CommandReturn {
139139
if !self.is_failure() {
140140
return None;
141141
}
142-
Some(unsafe { transmute(self.r1) })
142+
Some(unsafe { transmute::<u32, ErrorCode>(self.r1) })
143143
}
144144

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

154154
/// Returns the error code and return values if this CommandReturn is of
@@ -157,7 +157,11 @@ impl CommandReturn {
157157
if !self.is_failure_2_u32() {
158158
return None;
159159
}
160-
Some((unsafe { transmute(self.r1) }, self.r2, self.r3))
160+
Some((
161+
unsafe { transmute::<u32, ErrorCode>(self.r1) },
162+
self.r2,
163+
self.r3,
164+
))
161165
}
162166

163167
/// Returns the error code and return value if this CommandReturn is of type
@@ -167,7 +171,7 @@ impl CommandReturn {
167171
return None;
168172
}
169173
Some((
170-
unsafe { transmute(self.r1) },
174+
unsafe { transmute::<u32, ErrorCode>(self.r1) },
171175
self.r2 as u64 + ((self.r3 as u64) << 32),
172176
))
173177
}
@@ -244,7 +248,7 @@ impl CommandReturn {
244248
let ec: ErrorCode = if return_variant == E::RETURN_VARIANT {
245249
// Safety: E::RETURN_VARIANT must be a failure variant, and
246250
// failure variants must contain a valid ErrorCode in r1.
247-
unsafe { transmute(r1) }
251+
unsafe { transmute::<u32, ErrorCode>(r1) }
248252
} else {
249253
r2 = 0;
250254
r3 = 0;

platform/src/error_code.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ impl TryFrom<u32> for ErrorCode {
277277

278278
fn try_from(value: u32) -> Result<Self, Self::Error> {
279279
if (1..=1024).contains(&value) {
280-
Ok(unsafe { transmute(value) })
280+
Ok(unsafe { transmute::<u32, ErrorCode>(value) })
281281
} else {
282282
Err(NotAnErrorCode)
283283
}

platform/src/syscalls_impl.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ impl<S: RawSyscalls> Syscalls for S {
118118
// then r1 will contain a valid error code. ErrorCode is
119119
// designed to be safely transmuted directly from a kernel error
120120
// code.
121-
return Err(unsafe { core::mem::transmute(r1.as_u32()) });
121+
return Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) });
122122
}
123123

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

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

324324
// r0 indicates Success with 2 u32s. Confirm a zero buffer was
@@ -380,7 +380,7 @@ impl<S: RawSyscalls> Syscalls for S {
380380
// then r1 will contain a valid error code. ErrorCode is
381381
// designed to be safely transmuted directly from a kernel error
382382
// code.
383-
Err(unsafe { core::mem::transmute(r1.as_u32()) })
383+
Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) })
384384
} else {
385385
Ok(())
386386
}
@@ -407,7 +407,7 @@ impl<S: RawSyscalls> Syscalls for S {
407407
// then r1 will contain a valid error code. ErrorCode is
408408
// designed to be safely transmuted directly from a kernel error
409409
// code.
410-
Err(unsafe { core::mem::transmute(r1.as_u32()) })
410+
Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) })
411411
} else {
412412
Ok(r1.into())
413413
}
@@ -436,7 +436,7 @@ impl<S: RawSyscalls> Syscalls for S {
436436
// then r1 will contain a valid error code. ErrorCode is
437437
// designed to be safely transmuted directly from a kernel error
438438
// code.
439-
Err(unsafe { core::mem::transmute(r1.as_u32()) })
439+
Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) })
440440
} else {
441441
Ok(r1.into())
442442
}
@@ -464,7 +464,7 @@ impl<S: RawSyscalls> Syscalls for S {
464464
// then r1 will contain a valid error code. ErrorCode is
465465
// designed to be safely transmuted directly from a kernel error
466466
// code.
467-
Err(unsafe { core::mem::transmute(r1.as_u32()) })
467+
Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) })
468468
} else {
469469
Ok(())
470470
}
@@ -493,7 +493,7 @@ impl<S: RawSyscalls> Syscalls for S {
493493
// then r1 will contain a valid error code. ErrorCode is
494494
// designed to be safely transmuted directly from a kernel error
495495
// code.
496-
Err(unsafe { core::mem::transmute(r1.as_u32()) })
496+
Err(unsafe { core::mem::transmute::<u32, ErrorCode>(r1.as_u32()) })
497497
} else {
498498
Ok(())
499499
}

0 commit comments

Comments
 (0)