Skip to content

Commit 1ea2d58

Browse files
committed
Add Id::cast
1 parent 79cd0dd commit 1ea2d58

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

objc2/src/rc/id.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,15 @@ impl<T: Message + ?Sized> Id<T, Unknown> {
477477
let ptr = ManuallyDrop::new(self).ptr;
478478
unsafe { Id::new(ptr) }
479479
}
480+
481+
/// TODO
482+
#[inline]
483+
// TODO: Can we make this safe?
484+
pub unsafe fn cast<U: Message>(self) -> Id<U, Unknown> {
485+
// Can't use `NonNull::cast` yet
486+
let ptr = ManuallyDrop::new(self).ptr.cast();
487+
unsafe { Id::new(ptr) }
488+
}
480489
}
481490

482491
impl<T: Message> Id<T, Unknown> {

0 commit comments

Comments
 (0)