pub struct Args<T>(pub T);Expand description
Wrapper around tuple to satisfy orphan rule.
This wrapper enables implementing hitbox traits for tuples of function arguments.
Without this wrapper, we couldn’t implement foreign traits (CacheableRequest, etc.)
for foreign types (tuples).
Tuple Fields§
§0: TImplementations§
Trait Implementations§
Source§impl CacheableRequest for Args<()>
impl CacheableRequest for Args<()>
Source§impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static> CacheableRequest for Args<(T0, T1)>
impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static> CacheableRequest for Args<(T0, T1)>
Source§impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2)>
impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2)>
Source§impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3)>
impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3)>
Source§impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4)>
impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4)>
Source§impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5)>
impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5)>
Source§impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static, T6: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5, T6)>
impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static, T6: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5, T6)>
Source§impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static, T6: Send + Sync + 'static, T7: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5, T6, T7)>
impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static, T6: Send + Sync + 'static, T7: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5, T6, T7)>
Source§impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static, T6: Send + Sync + 'static, T7: Send + Sync + 'static, T8: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>
impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static, T6: Send + Sync + 'static, T7: Send + Sync + 'static, T8: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>
Source§impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static, T6: Send + Sync + 'static, T7: Send + Sync + 'static, T8: Send + Sync + 'static, T9: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>
impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static, T6: Send + Sync + 'static, T7: Send + Sync + 'static, T8: Send + Sync + 'static, T9: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>
Source§impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static, T6: Send + Sync + 'static, T7: Send + Sync + 'static, T8: Send + Sync + 'static, T9: Send + Sync + 'static, T10: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static, T6: Send + Sync + 'static, T7: Send + Sync + 'static, T8: Send + Sync + 'static, T9: Send + Sync + 'static, T10: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
Source§impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static, T6: Send + Sync + 'static, T7: Send + Sync + 'static, T8: Send + Sync + 'static, T9: Send + Sync + 'static, T10: Send + Sync + 'static, T11: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>
impl<T0: Send + Sync + 'static, T1: Send + Sync + 'static, T2: Send + Sync + 'static, T3: Send + Sync + 'static, T4: Send + Sync + 'static, T5: Send + Sync + 'static, T6: Send + Sync + 'static, T7: Send + Sync + 'static, T8: Send + Sync + 'static, T9: Send + Sync + 'static, T10: Send + Sync + 'static, T11: Send + Sync + 'static> CacheableRequest for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>
Source§impl KeyExtract for Args<()>
impl KeyExtract for Args<()>
Source§impl<T0: KeyExtract> KeyExtract for Args<(T0,)>
impl<T0: KeyExtract> KeyExtract for Args<(T0,)>
Source§impl<T0: KeyExtract, T1: KeyExtract> KeyExtract for Args<(T0, T1)>
impl<T0: KeyExtract, T1: KeyExtract> KeyExtract for Args<(T0, T1)>
Source§impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract> KeyExtract for Args<(T0, T1, T2)>
impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract> KeyExtract for Args<(T0, T1, T2)>
Source§impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3)>
impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3)>
Source§impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4)>
impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4)>
Source§impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5)>
impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5)>
Source§impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract, T6: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5, T6)>
impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract, T6: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5, T6)>
Source§impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract, T6: KeyExtract, T7: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5, T6, T7)>
impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract, T6: KeyExtract, T7: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5, T6, T7)>
Source§impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract, T6: KeyExtract, T7: KeyExtract, T8: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>
impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract, T6: KeyExtract, T7: KeyExtract, T8: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8)>
Source§impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract, T6: KeyExtract, T7: KeyExtract, T8: KeyExtract, T9: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>
impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract, T6: KeyExtract, T7: KeyExtract, T8: KeyExtract, T9: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)>
Source§impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract, T6: KeyExtract, T7: KeyExtract, T8: KeyExtract, T9: KeyExtract, T10: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract, T6: KeyExtract, T7: KeyExtract, T8: KeyExtract, T9: KeyExtract, T10: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
Source§impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract, T6: KeyExtract, T7: KeyExtract, T8: KeyExtract, T9: KeyExtract, T10: KeyExtract, T11: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>
impl<T0: KeyExtract, T1: KeyExtract, T2: KeyExtract, T3: KeyExtract, T4: KeyExtract, T5: KeyExtract, T6: KeyExtract, T7: KeyExtract, T8: KeyExtract, T9: KeyExtract, T10: KeyExtract, T11: KeyExtract> KeyExtract for Args<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>
Auto Trait Implementations§
impl<T> Freeze for Args<T>where
T: Freeze,
impl<T> RefUnwindSafe for Args<T>where
T: RefUnwindSafe,
impl<T> Send for Args<T>where
T: Send,
impl<T> Sync for Args<T>where
T: Sync,
impl<T> Unpin for Args<T>where
T: Unpin,
impl<T> UnsafeUnpin for Args<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for Args<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CachedFieldClone for Twhere
T: Clone,
impl<T> CachedFieldClone for Twhere
T: Clone,
Source§fn cached_clone(&self) -> T
fn cached_clone(&self) -> T
Clone this field for cache storage.