mirror of
https://github.com/tokio-rs/axum.git
synced 2026-08-26 00:00:23 +02:00
Refactor all_the_tuples! macros (#1413)
This commit is contained in:
@@ -74,31 +74,7 @@ macro_rules! impl_from_request {
|
||||
};
|
||||
}
|
||||
|
||||
impl_from_request!([], T1);
|
||||
impl_from_request!([T1], T2);
|
||||
impl_from_request!([T1, T2], T3);
|
||||
impl_from_request!([T1, T2, T3], T4);
|
||||
impl_from_request!([T1, T2, T3, T4], T5);
|
||||
impl_from_request!([T1, T2, T3, T4, T5], T6);
|
||||
impl_from_request!([T1, T2, T3, T4, T5, T6], T7);
|
||||
impl_from_request!([T1, T2, T3, T4, T5, T6, T7], T8);
|
||||
impl_from_request!([T1, T2, T3, T4, T5, T6, T7, T8], T9);
|
||||
impl_from_request!([T1, T2, T3, T4, T5, T6, T7, T8, T9], T10);
|
||||
impl_from_request!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T11);
|
||||
impl_from_request!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11], T12);
|
||||
impl_from_request!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12], T13);
|
||||
impl_from_request!(
|
||||
[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13],
|
||||
T14
|
||||
);
|
||||
impl_from_request!(
|
||||
[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14],
|
||||
T15
|
||||
);
|
||||
impl_from_request!(
|
||||
[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15],
|
||||
T16
|
||||
);
|
||||
all_the_tuples!(impl_from_request);
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
|
||||
@@ -100,7 +100,29 @@ macro_rules! composite_rejection {
|
||||
};
|
||||
}
|
||||
|
||||
#[rustfmt::skip]
|
||||
macro_rules! all_the_tuples {
|
||||
($name:ident) => {
|
||||
$name!([], T1);
|
||||
$name!([T1], T2);
|
||||
$name!([T1, T2], T3);
|
||||
$name!([T1, T2, T3], T4);
|
||||
$name!([T1, T2, T3, T4], T5);
|
||||
$name!([T1, T2, T3, T4, T5], T6);
|
||||
$name!([T1, T2, T3, T4, T5, T6], T7);
|
||||
$name!([T1, T2, T3, T4, T5, T6, T7], T8);
|
||||
$name!([T1, T2, T3, T4, T5, T6, T7, T8], T9);
|
||||
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9], T10);
|
||||
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], T11);
|
||||
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11], T12);
|
||||
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12], T13);
|
||||
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13], T14);
|
||||
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14], T15);
|
||||
$name!([T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15], T16);
|
||||
};
|
||||
}
|
||||
|
||||
macro_rules! all_the_tuples_no_last_special_case {
|
||||
($name:ident) => {
|
||||
$name!(T1);
|
||||
$name!(T1, T2);
|
||||
|
||||
@@ -516,4 +516,4 @@ macro_rules! impl_into_response {
|
||||
}
|
||||
}
|
||||
|
||||
all_the_tuples!(impl_into_response);
|
||||
all_the_tuples_no_last_special_case!(impl_into_response);
|
||||
|
||||
@@ -248,7 +248,7 @@ macro_rules! impl_into_response_parts {
|
||||
}
|
||||
}
|
||||
|
||||
all_the_tuples!(impl_into_response_parts);
|
||||
all_the_tuples_no_last_special_case!(impl_into_response_parts);
|
||||
|
||||
impl IntoResponseParts for Extensions {
|
||||
type Error = Infallible;
|
||||
|
||||
Reference in New Issue
Block a user