@@ -189,15 +189,17 @@ macro_rules! minimal_quote_tt {
189189 ( , ) => { Punct :: new( ',' , Spacing :: Alone ) } ;
190190 ( . ) => { Punct :: new( '.' , Spacing :: Alone ) } ;
191191 ( ; ) => { Punct :: new( ';' , Spacing :: Alone ) } ;
192- ( !) => { Punct :: new( '!' , Spacing :: Alone ) } ;
193- ( <) => { Punct :: new( '<' , Spacing :: Alone ) } ;
194- ( >) => { Punct :: new( '>' , Spacing :: Alone ) } ;
195- ( & ) => { Punct :: new( '&' , Spacing :: Alone ) } ;
196192 ( =) => { Punct :: new( '=' , Spacing :: Alone ) } ;
197193 ( #) => { Punct :: new( '#' , Spacing :: Alone ) } ;
198- ( | ) => { Punct :: new( '| ' , Spacing :: Alone ) } ;
194+ ( ^ ) => { Punct :: new( '^ ' , Spacing :: Alone ) } ;
199195 ( : ) => { Punct :: new( ':' , Spacing :: Alone ) } ;
196+ ( & ) => { Punct :: new( '&' , Spacing :: Alone ) } ;
197+ ( |) => { Punct :: new( '|' , Spacing :: Alone ) } ;
198+ ( <) => { Punct :: new( '<' , Spacing :: Alone ) } ;
199+ ( >) => { Punct :: new( '>' , Spacing :: Alone ) } ;
200200 ( * ) => { Punct :: new( '*' , Spacing :: Alone ) } ;
201+ ( !) => { Punct :: new( '!' , Spacing :: Alone ) } ;
202+ ( -) => { Punct :: new( '-' , Spacing :: Alone ) } ;
201203 ( _) => { Ident :: new( "_" , Span :: def_site( ) ) } ;
202204 ( $i: ident) => { Ident :: new( stringify!( $i) , Span :: def_site( ) ) } ;
203205 ( $lit: literal) => { stringify!( $lit) . parse:: <Literal >( ) . unwrap( ) } ;
@@ -238,6 +240,72 @@ macro_rules! minimal_quote_ts {
238240 [ c. 0 , c. 1 ] . into_iter( ) . collect:: <TokenStream >( )
239241 }
240242 } ;
243+ ( &&) => {
244+ {
245+ let mut c = (
246+ TokenTree :: from( Punct :: new( '+' , Spacing :: Joint ) ) ,
247+ TokenTree :: from( Punct :: new( '=' , Spacing :: Alone ) )
248+ ) ;
249+ c. 0 . set_span( Span :: def_site( ) ) ;
250+ c. 1 . set_span( Span :: def_site( ) ) ;
251+ [ c. 0 , c. 1 ] . into_iter( ) . collect:: <TokenStream >( )
252+ }
253+ } ;
254+ ( ||) => {
255+ {
256+ let mut c = (
257+ TokenTree :: from( Punct :: new( '|' , Spacing :: Joint ) ) ,
258+ TokenTree :: from( Punct :: new( '|' , Spacing :: Alone ) )
259+ ) ;
260+ c. 0 . set_span( Span :: def_site( ) ) ;
261+ c. 1 . set_span( Span :: def_site( ) ) ;
262+ [ c. 0 , c. 1 ] . into_iter( ) . collect:: <TokenStream >( )
263+ }
264+ } ;
265+ ( <<) => {
266+ {
267+ let mut c = (
268+ TokenTree :: from( Punct :: new( '<' , Spacing :: Joint ) ) ,
269+ TokenTree :: from( Punct :: new( '<' , Spacing :: Alone ) )
270+ ) ;
271+ c. 0 . set_span( Span :: def_site( ) ) ;
272+ c. 1 . set_span( Span :: def_site( ) ) ;
273+ [ c. 0 , c. 1 ] . into_iter( ) . collect:: <TokenStream >( )
274+ }
275+ } ;
276+ ( >>) => {
277+ {
278+ let mut c = (
279+ TokenTree :: from( Punct :: new( '>' , Spacing :: Joint ) ) ,
280+ TokenTree :: from( Punct :: new( '>' , Spacing :: Alone ) )
281+ ) ;
282+ c. 0 . set_span( Span :: def_site( ) ) ;
283+ c. 1 . set_span( Span :: def_site( ) ) ;
284+ [ c. 0 , c. 1 ] . into_iter( ) . collect:: <TokenStream >( )
285+ }
286+ } ;
287+ ( ==) => {
288+ {
289+ let mut c = (
290+ TokenTree :: from( Punct :: new( '=' , Spacing :: Joint ) ) ,
291+ TokenTree :: from( Punct :: new( '=' , Spacing :: Alone ) )
292+ ) ;
293+ c. 0 . set_span( Span :: def_site( ) ) ;
294+ c. 1 . set_span( Span :: def_site( ) ) ;
295+ [ c. 0 , c. 1 ] . into_iter( ) . collect:: <TokenStream >( )
296+ }
297+ } ;
298+ ( <=) => {
299+ {
300+ let mut c = (
301+ TokenTree :: from( Punct :: new( '<' , Spacing :: Joint ) ) ,
302+ TokenTree :: from( Punct :: new( '=' , Spacing :: Alone ) )
303+ ) ;
304+ c. 0 . set_span( Span :: def_site( ) ) ;
305+ c. 1 . set_span( Span :: def_site( ) ) ;
306+ [ c. 0 , c. 1 ] . into_iter( ) . collect:: <TokenStream >( )
307+ }
308+ } ;
241309 ( !=) => {
242310 {
243311 let mut c = (
@@ -249,7 +317,18 @@ macro_rules! minimal_quote_ts {
249317 [ c. 0 , c. 1 ] . into_iter( ) . collect:: <TokenStream >( )
250318 }
251319 } ;
252- ( $t: tt) => { TokenTree :: from( minimal_quote_tt!( $t) ) } ;
320+ ( >=) => {
321+ {
322+ let mut c = (
323+ TokenTree :: from( Punct :: new( '>' , Spacing :: Joint ) ) ,
324+ TokenTree :: from( Punct :: new( '=' , Spacing :: Alone ) )
325+ ) ;
326+ c. 0 . set_span( Span :: def_site( ) ) ;
327+ c. 1 . set_span( Span :: def_site( ) ) ;
328+ [ c. 0 , c. 1 ] . into_iter( ) . collect:: <TokenStream >( )
329+ }
330+ } ;
331+ ( $t: t) => { TokenTree :: from( minimal_quote_tt!( $t) ) } ;
253332}
254333
255334/// Simpler version of the real `quote!` macro, implemented solely
0 commit comments