| 123456789101112131415161718 |
- // SPDX-License-Identifier: Apache-2.0 OR MIT
- use proc_macro2::TokenStream;
- use quote::ToTokens;
- pub(crate) struct TokensOrDefault<'a, T: 'a>(pub &'a Option<T>);
- impl<'a, T> ToTokens for TokensOrDefault<'a, T>
- where
- T: ToTokens + Default,
- {
- fn to_tokens(&self, tokens: &mut TokenStream) {
- match self.0 {
- Some(t) => t.to_tokens(tokens),
- None => T::default().to_tokens(tokens),
- }
- }
- }
|