Files
ansi_term
arraydeque
atty
bear_lib_terminal
terminal
bear_lib_terminal_sys
bitflags
cfg_if
clap
app
args
completions
const_cstr
dirs
dirs_sys
dlopen
raw
symbor
wrapper
dlopen_derive
downcast_rs
lazy_static
libc
unix
num_traits
pir_8_as
pir_8_disasm
pir_8_emu
binutils
pir_8_as
pir_8_emu
isa
instruction
register
micro
vm
proc_macro2
quote
serde
de
private
ser
serde_derive
strsim
syn
attr.rsbuffer.rscustom_keyword.rscustom_punctuation.rsdata.rsderive.rsdiscouraged.rserror.rsexport.rsexpr.rsext.rsgenerics.rsgroup.rsident.rslib.rslifetime.rslit.rslookahead.rsmac.rsmacros.rsop.rsparse.rsparse_macro_input.rsparse_quote.rspath.rsprint.rspunctuated.rssealed.rsspan.rsspanned.rsthread.rstoken.rsty.rs
textwrap
time
tinyfiledialogs
toml
unicode_width
unicode_xid
vec_map
>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
use proc_macro2::TokenStream; use quote::ToTokens; pub 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(ref t) => t.to_tokens(tokens), None => T::default().to_tokens(tokens), } } }