Lines Matching refs:T
39 pub unsafe trait ProjectIndex<T: ?Sized>: Sized {
43 fn get(self, slice: *mut T) -> Option<*mut Self::Output>; in get()
47 fn index(self, slice: *mut T) -> *mut Self::Output { in index()
55 unsafe impl<T, I, const N: usize> ProjectIndex<[T; N]> for I
57 I: ProjectIndex<[T]>,
59 type Output = <I as ProjectIndex<[T]>>::Output;
62 fn get(self, slice: *mut [T; N]) -> Option<*mut Self::Output> { in get()
63 <I as ProjectIndex<[T]>>::get(self, slice)
67 fn index(self, slice: *mut [T; N]) -> *mut Self::Output { in index()
68 <I as ProjectIndex<[T]>>::index(self, slice)
74 unsafe impl<T> ProjectIndex<[T]> for usize {
75 type Output = T;
78 fn get(self, slice: *mut [T]) -> Option<*mut T> { in get() argument
82 Some(slice.cast::<T>().wrapping_add(self)) in get()
89 unsafe impl<T> ProjectIndex<[T]> for core::ops::Range<usize> {
90 type Output = [T];
93 fn get(self, slice: *mut [T]) -> Option<*mut [T]> { in get() argument
99 slice.cast::<T>().wrapping_add(self.start), in get()
106 unsafe impl<T> ProjectIndex<[T]> for core::ops::RangeTo<usize> {
107 type Output = [T];
110 fn get(self, slice: *mut [T]) -> Option<*mut [T]> { in get() argument
116 unsafe impl<T> ProjectIndex<[T]> for core::ops::RangeFrom<usize> {
117 type Output = [T];
120 fn get(self, slice: *mut [T]) -> Option<*mut [T]> { in get() argument
126 unsafe impl<T> ProjectIndex<[T]> for core::ops::RangeFull {
127 type Output = [T];
130 fn get(self, slice: *mut [T]) -> Option<*mut [T]> { in get() argument
166 unsafe impl<T> ProjectField<false> for T { implementation
184 unsafe impl<T: Deref> ProjectField<true> for T { implementation