id_sys/extends/
isize_id.rs

1use crate::{extends::Extends, IsizeId};
2
3impl<TMarker: ?Sized> IsizeId<TMarker> {
4    pub const fn downcast_to<TExtendedMarker: ?Sized>(self) -> IsizeId<TExtendedMarker>
5    where
6        TExtendedMarker: Extends<TMarker>,
7    {
8        IsizeId::from_isize(self.to_isize())
9    }
10
11    pub const fn upcast_to<TExtendedMarker: ?Sized>(self) -> IsizeId<TExtendedMarker>
12    where
13        TMarker: Extends<TExtendedMarker>,
14    {
15        IsizeId::from_isize(self.to_isize())
16    }
17}