Skip to main content

salsa_macro_rules/
maybe_default.rs

1/// Generate either `field_ref_expr` or `field_ty::default`
2///
3/// Used when generating an input's builder.
4#[macro_export]
5macro_rules! maybe_default {
6    (
7        ($return_mode:ident, default),
8        $field_ty:ty,
9        $field_ref_expr:expr,
10    ) => {
11        <$field_ty>::default()
12    };
13
14    (
15        ($return_mode:ident, required),
16        $field_ty:ty,
17        $field_ref_expr:expr,
18    ) => {
19        $field_ref_expr
20    };
21}
22
23#[macro_export]
24macro_rules! maybe_default_tt {
25    (($return_mode:ident, default) => $($t:tt)*) => {
26        $($t)*
27    };
28
29    (($return_mode:ident, required) => $($t:tt)*) => {
30
31    };
32}