Lines Matching full:crate
9 //! This crate provides the [`quote!`] macro for turning Rust syntax tree data
17 //! crate. Quasi-quoting is a solution to one piece of that — producing
24 //! compiling that as code into the current crate, we can treat it as data, pass
26 //! to compile into the macro caller's crate.
28 //! This crate is motivated by the procedural macro use case, but is a
98 extern crate proc_macro;
110 pub use crate::ext::TokenStreamExt;
111 pub use crate::ident_fragment::IdentFragment;
112 pub use crate::to_tokens::ToTokens;
137 /// crate.
196 /// crate for further useful guidance on using `quote!` as part of a procedural
203 /// extern crate proc_macro;
204 /// # extern crate proc_macro2;
483 $crate::__private::TokenStream::new()
488 let mut _s = $crate::__private::TokenStream::new();
489 $crate::quote_token!{$tt _s}
495 let mut _s = $crate::__private::TokenStream::new();
496 $crate::ToTokens::to_tokens(&$var, &mut _s);
500 let mut _s = $crate::__private::TokenStream::new();
501 $crate::quote_token!{$tt1 _s}
502 $crate::quote_token!{$tt2 _s}
508 let mut _s = $crate::__private::TokenStream::new();
509 $crate::quote_each_token!{_s $($tt)*}
622 let _: $crate::__private::Span = $span;
623 $crate::__private::TokenStream::new()
628 let mut _s = $crate::__private::TokenStream::new();
629 let _span: $crate::__private::Span = $span;
630 $crate::quote_token_spanned!{$tt _s _span}
636 let mut _s = $crate::__private::TokenStream::new();
637 let _: $crate::__private::Span = $span;
638 $crate::ToTokens::to_tokens(&$var, &mut _s);
642 let mut _s = $crate::__private::TokenStream::new();
643 let _span: $crate::__private::Span = $span;
644 $crate::quote_token_spanned!{$tt1 _s _span}
645 $crate::quote_token_spanned!{$tt2 _s _span}
651 let mut _s = $crate::__private::TokenStream::new();
652 let _span: $crate::__private::Span = $span;
653 $crate::quote_each_token_spanned!{_s _span $($tt)*}
668 $crate::pounded_var_names_with_context!{$call! $extra
680 $crate::pounded_var_with_context!{$call! $extra $b1 $curr}
689 $crate::pounded_var_names!{$call! $extra $($inner)*}
693 $crate::pounded_var_names!{$call! $extra $($inner)*}
697 $crate::pounded_var_names!{$call! $extra $($inner)*}
701 $crate::$call!($($extra)* $var);
723 Some(_x) => $crate::__private::RepInterp(_x),
801 $crate::quote_tokens_with_context!{$tokens
818 $crate::quote_tokens_with_context_spanned!{$tokens $span
840 $crate::quote_token_with_context!{$tokens $b3 $b2 $b1 $curr $a1 $a2 $a3}
855 $crate::quote_token_with_context_spanned!{$tokens $span $b3 $b2 $b1 $curr $a1 $a2 $a3}
870 use $crate::__private::ext::*;
871 let has_iter = $crate::__private::ThereIsNoIteratorInRepetition;
872 $crate::pounded_var_names!{quote_bind_into_iter!(has_iter) () $($inner)*}
873 let _: $crate::__private::HasIterator = has_iter;
881 $crate::pounded_var_names!{quote_bind_next_or_break!() () $($inner)*}
882 $crate::quote_each_token!{$tokens $($inner)*}
892 use $crate::__private::ext::*;
894 let has_iter = $crate::__private::ThereIsNoIteratorInRepetition;
895 $crate::pounded_var_names!{quote_bind_into_iter!(has_iter) () $($inner)*}
896 let _: $crate::__private::HasIterator = has_iter;
898 $crate::pounded_var_names!{quote_bind_next_or_break!() () $($inner)*}
900 $crate::quote_token!{$sep $tokens}
903 $crate::quote_each_token!{$tokens $($inner)*}
914 $crate::quote_token!{* $tokens}
921 $crate::ToTokens::to_tokens(&$var, &mut $tokens);
928 $crate::quote_token!{$curr $tokens}
940 use $crate::__private::ext::*;
941 let has_iter = $crate::__private::ThereIsNoIteratorInRepetition;
942 $crate::pounded_var_names!{quote_bind_into_iter!(has_iter) () $($inner)*}
943 let _: $crate::__private::HasIterator = has_iter;
945 $crate::pounded_var_names!{quote_bind_next_or_break!() () $($inner)*}
946 $crate::quote_each_token_spanned!{$tokens $span $($inner)*}
953 use $crate::__private::ext::*;
955 let has_iter = $crate::__private::ThereIsNoIteratorInRepetition;
956 $crate::pounded_var_names!{quote_bind_into_iter!(has_iter) () $($inner)*}
957 let _: $crate::__private::HasIterator = has_iter;
959 $crate::pounded_var_names!{quote_bind_next_or_break!() () $($inner)*}
961 $crate::quote_token_spanned!{$sep $tokens $span}
964 $crate::quote_each_token_spanned!{$tokens $span $($inner)*}
971 $crate::quote_token_spanned!{* $tokens $span}
976 $crate::ToTokens::to_tokens(&$var, &mut $tokens);
981 $crate::quote_token_spanned!{$curr $tokens $span}
996 $crate::__private::push_ident(&mut $tokens, stringify!($ident));
1000 $crate::__private::push_colon2(&mut $tokens);
1004 $crate::__private::push_group(
1006 $crate::__private::Delimiter::Parenthesis,
1007 $crate::quote!($($inner)*),
1012 $crate::__private::push_group(
1014 $crate::__private::Delimiter::Bracket,
1015 $crate::quote!($($inner)*),
1020 $crate::__private::push_group(
1022 $crate::__private::Delimiter::Brace,
1023 $crate::quote!($($inner)*),
1028 $crate::__private::push_pound(&mut $tokens);
1032 $crate::__private::push_comma(&mut $tokens);
1036 $crate::__private::push_dot(&mut $tokens);
1040 $crate::__private::push_semi(&mut $tokens);
1044 $crate::__private::push_colon(&mut $tokens);
1048 $crate::__private::push_add(&mut $tokens);
1052 $crate::__private::push_add_eq(&mut $tokens);
1056 $crate::__private::push_and(&mut $tokens);
1060 $crate::__private::push_and_and(&mut $tokens);
1064 $crate::__private::push_and_eq(&mut $tokens);
1068 $crate::__private::push_at(&mut $tokens);
1072 $crate::__private::push_bang(&mut $tokens);
1076 $crate::__private::push_caret(&mut $tokens);
1080 $crate::__private::push_caret_eq(&mut $tokens);
1084 $crate::__private::push_div(&mut $tokens);
1088 $crate::__private::push_div_eq(&mut $tokens);
1092 $crate::__private::push_dot2(&mut $tokens);
1096 $crate::__private::push_dot3(&mut $tokens);
1100 $crate::__private::push_dot_dot_eq(&mut $tokens);
1104 $crate::__private::push_eq(&mut $tokens);
1108 $crate::__private::push_eq_eq(&mut $tokens);
1112 $crate::__private::push_ge(&mut $tokens);
1116 $crate::__private::push_gt(&mut $tokens);
1120 $crate::__private::push_le(&mut $tokens);
1124 $crate::__private::push_lt(&mut $tokens);
1128 $crate::__private::push_mul_eq(&mut $tokens);
1132 $crate::__private::push_ne(&mut $tokens);
1136 $crate::__private::push_or(&mut $tokens);
1140 $crate::__private::push_or_eq(&mut $tokens);
1144 $crate::__private::push_or_or(&mut $tokens);
1148 $crate::__private::push_question(&mut $tokens);
1152 $crate::__private::push_rarrow(&mut $tokens);
1156 $crate::__private::push_larrow(&mut $tokens);
1160 $crate::__private::push_rem(&mut $tokens);
1164 $crate::__private::push_rem_eq(&mut $tokens);
1168 $crate::__private::push_fat_arrow(&mut $tokens);
1172 $crate::__private::push_shl(&mut $tokens);
1176 $crate::__private::push_shl_eq(&mut $tokens);
1180 $crate::__private::push_shr(&mut $tokens);
1184 $crate::__private::push_shr_eq(&mut $tokens);
1188 $crate::__private::push_star(&mut $tokens);
1192 $crate::__private::push_sub(&mut $tokens);
1196 $crate::__private::push_sub_eq(&mut $tokens);
1200 $crate::__private::push_lifetime(&mut $tokens, stringify!($lifetime));
1204 $crate::__private::push_underscore(&mut $tokens);
1208 $crate::__private::parse(&mut $tokens, stringify!($other));
1217 $crate::__private::push_ident_spanned(&mut $tokens, $span, stringify!($ident));
1221 $crate::__private::push_colon2_spanned(&mut $tokens, $span);
1225 $crate::__private::push_group_spanned(
1228 $crate::__private::Delimiter::Parenthesis,
1229 $crate::quote_spanned!($span=> $($inner)*),
1234 $crate::__private::push_group_spanned(
1237 $crate::__private::Delimiter::Bracket,
1238 $crate::quote_spanned!($span=> $($inner)*),
1243 $crate::__private::push_group_spanned(
1246 $crate::__private::Delimiter::Brace,
1247 $crate::quote_spanned!($span=> $($inner)*),
1252 $crate::__private::push_pound_spanned(&mut $tokens, $span);
1256 $crate::__private::push_comma_spanned(&mut $tokens, $span);
1260 $crate::__private::push_dot_spanned(&mut $tokens, $span);
1264 $crate::__private::push_semi_spanned(&mut $tokens, $span);
1268 $crate::__private::push_colon_spanned(&mut $tokens, $span);
1272 $crate::__private::push_add_spanned(&mut $tokens, $span);
1276 $crate::__private::push_add_eq_spanned(&mut $tokens, $span);
1280 $crate::__private::push_and_spanned(&mut $tokens, $span);
1284 $crate::__private::push_and_and_spanned(&mut $tokens, $span);
1288 $crate::__private::push_and_eq_spanned(&mut $tokens, $span);
1292 $crate::__private::push_at_spanned(&mut $tokens, $span);
1296 $crate::__private::push_bang_spanned(&mut $tokens, $span);
1300 $crate::__private::push_caret_spanned(&mut $tokens, $span);
1304 $crate::__private::push_caret_eq_spanned(&mut $tokens, $span);
1308 $crate::__private::push_div_spanned(&mut $tokens, $span);
1312 $crate::__private::push_div_eq_spanned(&mut $tokens, $span);
1316 $crate::__private::push_dot2_spanned(&mut $tokens, $span);
1320 $crate::__private::push_dot3_spanned(&mut $tokens, $span);
1324 $crate::__private::push_dot_dot_eq_spanned(&mut $tokens, $span);
1328 $crate::__private::push_eq_spanned(&mut $tokens, $span);
1332 $crate::__private::push_eq_eq_spanned(&mut $tokens, $span);
1336 $crate::__private::push_ge_spanned(&mut $tokens, $span);
1340 $crate::__private::push_gt_spanned(&mut $tokens, $span);
1344 $crate::__private::push_le_spanned(&mut $tokens, $span);
1348 $crate::__private::push_lt_spanned(&mut $tokens, $span);
1352 $crate::__private::push_mul_eq_spanned(&mut $tokens, $span);
1356 $crate::__private::push_ne_spanned(&mut $tokens, $span);
1360 $crate::__private::push_or_spanned(&mut $tokens, $span);
1364 $crate::__private::push_or_eq_spanned(&mut $tokens, $span);
1368 $crate::__private::push_or_or_spanned(&mut $tokens, $span);
1372 $crate::__private::push_question_spanned(&mut $tokens, $span);
1376 $crate::__private::push_rarrow_spanned(&mut $tokens, $span);
1380 $crate::__private::push_larrow_spanned(&mut $tokens, $span);
1384 $crate::__private::push_rem_spanned(&mut $tokens, $span);
1388 $crate::__private::push_rem_eq_spanned(&mut $tokens, $span);
1392 $crate::__private::push_fat_arrow_spanned(&mut $tokens, $span);
1396 $crate::__private::push_shl_spanned(&mut $tokens, $span);
1400 $crate::__private::push_shl_eq_spanned(&mut $tokens, $span);
1404 $crate::__private::push_shr_spanned(&mut $tokens, $span);
1408 $crate::__private::push_shr_eq_spanned(&mut $tokens, $span);
1412 $crate::__private::push_star_spanned(&mut $tokens, $span);
1416 $crate::__private::push_sub_spanned(&mut $tokens, $span);
1420 $crate::__private::push_sub_eq_spanned(&mut $tokens, $span);
1424 $crate::__private::push_lifetime_spanned(&mut $tokens, $span, stringify!($lifetime));
1428 $crate::__private::push_underscore_spanned(&mut $tokens, $span);
1432 $crate::__private::parse_spanned(&mut $tokens, $span, stringify!($other));