Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/rust/syn/print.rs
38271 views
1
// SPDX-License-Identifier: Apache-2.0 OR MIT
2
3
use proc_macro2::TokenStream;
4
use quote::ToTokens;
5
6
pub(crate) struct TokensOrDefault<'a, T: 'a>(pub &'a Option<T>);
7
8
impl<'a, T> ToTokens for TokensOrDefault<'a, T>
9
where
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
}
19
20