diesel/macros/
internal.rs1#[macro_export]
8#[doc(hidden)]
9macro_rules! impl_selectable_expression {
10 ($struct_name:ident) => {
11 $crate::impl_selectable_expression!(ty_params = (), struct_ty = $struct_name,);
12 };
13
14 ($struct_name:ident<$($ty_params:ident),+>) => {
15 $crate::impl_selectable_expression!(
16 ty_params = ($($ty_params),+),
17 struct_ty = $struct_name<$($ty_params),+>,
18 );
19 };
20
21 (ty_params = ($($ty_params:ident),*), struct_ty = $struct_ty:ty,) => {
22 impl<$($ty_params,)* QS> $crate::expression::SelectableExpression<QS>
23 for $struct_ty where
24 $struct_ty: $crate::expression::AppearsOnTable<QS>,
25 $($ty_params: $crate::expression::SelectableExpression<QS>,)*
26 {
27 }
28
29 impl<$($ty_params,)* QS> $crate::expression::AppearsOnTable<QS>
30 for $struct_ty where
31 $struct_ty: $crate::expression::Expression,
32 $($ty_params: $crate::expression::AppearsOnTable<QS>,)*
33 {
34 }
35 };
36}
37
38#[macro_export]
39#[doc(hidden)]
40#[cfg(feature = "custom-count-column-tables")]
41macro_rules! for_each_tuple {
42 ($callback:ident) => {
43 diesel_derives::__diesel_for_each_tuple!($callback, env!("DIESEL_MAX_COLUMN_COUNT"));
44 };
45 ($callback:ident, $size: expr) => {
46 diesel_derives::__diesel_for_each_tuple!($callback, $size);
47 };
48}
49
50#[macro_export]
51#[doc(hidden)]
52#[cfg(all(
53 not(feature = "custom-count-column-tables"),
54 feature = "128-column-tables"
55))]
56macro_rules! for_each_tuple {
57 ($callback:ident) => {
58 diesel_derives::__diesel_for_each_tuple!($callback, 128);
59 };
60 ($callback:ident, $size: expr) => {
61 diesel_derives::__diesel_for_each_tuple!($callback, $size);
62 };
63}
64
65#[macro_export]
66#[doc(hidden)]
67#[cfg(all(
68 not(feature = "custom-count-column-tables"),
69 not(feature = "128-column-tables"),
70 feature = "64-column-tables"
71))]
72macro_rules! for_each_tuple {
73 ($callback:ident) => {
74 diesel_derives::__diesel_for_each_tuple!($callback, 64);
75 };
76 ($callback:ident, $size: expr) => {
77 diesel_derives::__diesel_for_each_tuple!($callback, $size);
78 };
79}
80
81#[macro_export]
82#[doc(hidden)]
83#[cfg(all(
84 not(feature = "custom-count-column-tables"),
85 not(feature = "128-column-tables"),
86 not(feature = "64-column-tables"),
87 feature = "32-column-tables"
88))]
89macro_rules! for_each_tuple {
90 ($callback:ident) => {
91 diesel_derives::__diesel_for_each_tuple!($callback, 32);
92 };
93 ($callback:ident, $size: expr) => {
94 diesel_derives::__diesel_for_each_tuple!($callback, $size);
95 };
96}
97
98#[macro_export]
99#[doc(hidden)]
100#[cfg(all(
101 not(feature = "custom-count-column-tables"),
102 not(feature = "128-column-tables"),
103 not(feature = "64-column-tables"),
104 not(feature = "32-column-tables")
105))]
106macro_rules! for_each_tuple {
107 ($callback:ident) => {
108 diesel_derives::__diesel_for_each_tuple!($callback, 16);
109 };
110 ($callback:ident, $size: expr) => {
111 diesel_derives::__diesel_for_each_tuple!($callback, $size);
112 };
113}