Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1// SPDX-License-Identifier: Apache-2.0 OR MIT
2
3use proc_macro2::TokenStream;
4use quote::ToTokens;
5
6pub(crate) struct TokensOrDefault<'a, T: 'a>(pub &'a Option<T>);
7
8impl<'a, T> ToTokens for TokensOrDefault<'a, T>
9where
10 T: ToTokens + Default,
11{
12 fn to_tokens(&self, tokens: &mut TokenStream) {
13 match self.0 {
14 Some(t) => t.to_tokens(tokens),
15 None => T::default().to_tokens(tokens),
16 }
17 }
18}