@@ -598,7 +598,6 @@ pub fn integer_lit(s: &str, suffix: Option<Symbol>, sd: &Handler, sp: Span) -> a
598598#[ cfg( test) ]
599599mod tests {
600600 use super :: * ;
601- use std:: rc:: Rc ;
602601 use syntax_pos:: { self , Span , BytePos , Pos , NO_EXPANSION } ;
603602 use codemap:: Spanned ;
604603 use ast:: { self , Ident , PatKind } ;
@@ -609,7 +608,7 @@ mod tests {
609608 use print:: pprust:: item_to_string;
610609 use ptr:: P ;
611610 use tokenstream:: { self , TokenTree } ;
612- use util:: parser_testing:: { string_to_tts , string_to_parser} ;
611+ use util:: parser_testing:: { string_to_stream , string_to_parser} ;
613612 use util:: parser_testing:: { string_to_expr, string_to_item, string_to_stmt} ;
614613 use util:: ThinVec ;
615614
@@ -654,7 +653,8 @@ mod tests {
654653 // check the token-tree-ization of macros
655654 #[ test]
656655 fn string_to_tts_macro ( ) {
657- let tts = string_to_tts ( "macro_rules! zip (($a)=>($a))" . to_string ( ) ) ;
656+ let tts: Vec < _ > =
657+ string_to_stream ( "macro_rules! zip (($a)=>($a))" . to_string ( ) ) . trees ( ) . collect ( ) ;
658658 let tts: & [ TokenTree ] = & tts[ ..] ;
659659
660660 match ( tts. len ( ) , tts. get ( 0 ) , tts. get ( 1 ) , tts. get ( 2 ) , tts. get ( 3 ) ) {
@@ -667,7 +667,7 @@ mod tests {
667667 )
668668 if name_macro_rules. name == "macro_rules"
669669 && name_zip. name == "zip" => {
670- let tts = & macro_delimed. tts [ .. ] ;
670+ let tts = & macro_delimed. stream ( ) . trees ( ) . collect :: < Vec < _ > > ( ) ;
671671 match ( tts. len ( ) , tts. get ( 0 ) , tts. get ( 1 ) , tts. get ( 2 ) ) {
672672 (
673673 3 ,
@@ -676,17 +676,17 @@ mod tests {
676676 Some ( & TokenTree :: Delimited ( _, ref second_delimed) ) ,
677677 )
678678 if macro_delimed. delim == token:: Paren => {
679- let tts = & first_delimed. tts [ .. ] ;
679+ let tts = & first_delimed. stream ( ) . trees ( ) . collect :: < Vec < _ > > ( ) ;
680680 match ( tts. len ( ) , tts. get ( 0 ) , tts. get ( 1 ) ) {
681681 (
682682 2 ,
683683 Some ( & TokenTree :: Token ( _, token:: Dollar ) ) ,
684684 Some ( & TokenTree :: Token ( _, token:: Ident ( ident) ) ) ,
685685 )
686686 if first_delimed. delim == token:: Paren && ident. name == "a" => { } ,
687- _ => panic ! ( "value 3: {:?}" , * * first_delimed) ,
687+ _ => panic ! ( "value 3: {:?}" , * first_delimed) ,
688688 }
689- let tts = & second_delimed. tts [ .. ] ;
689+ let tts = & second_delimed. stream ( ) . trees ( ) . collect :: < Vec < _ > > ( ) ;
690690 match ( tts. len ( ) , tts. get ( 0 ) , tts. get ( 1 ) ) {
691691 (
692692 2 ,
@@ -695,10 +695,10 @@ mod tests {
695695 )
696696 if second_delimed. delim == token:: Paren
697697 && ident. name == "a" => { } ,
698- _ => panic ! ( "value 4: {:?}" , * * second_delimed) ,
698+ _ => panic ! ( "value 4: {:?}" , * second_delimed) ,
699699 }
700700 } ,
701- _ => panic ! ( "value 2: {:?}" , * * macro_delimed) ,
701+ _ => panic ! ( "value 2: {:?}" , * macro_delimed) ,
702702 }
703703 } ,
704704 _ => panic ! ( "value: {:?}" , tts) ,
@@ -707,31 +707,31 @@ mod tests {
707707
708708 #[ test]
709709 fn string_to_tts_1 ( ) {
710- let tts = string_to_tts ( "fn a (b : i32) { b; }" . to_string ( ) ) ;
710+ let tts = string_to_stream ( "fn a (b : i32) { b; }" . to_string ( ) ) ;
711711
712- let expected = vec ! [
713- TokenTree :: Token ( sp( 0 , 2 ) , token:: Ident ( Ident :: from_str( "fn" ) ) ) ,
714- TokenTree :: Token ( sp( 3 , 4 ) , token:: Ident ( Ident :: from_str( "a" ) ) ) ,
712+ let expected = TokenStream :: concat ( vec ! [
713+ TokenTree :: Token ( sp( 0 , 2 ) , token:: Ident ( Ident :: from_str( "fn" ) ) ) . into ( ) ,
714+ TokenTree :: Token ( sp( 3 , 4 ) , token:: Ident ( Ident :: from_str( "a" ) ) ) . into ( ) ,
715715 TokenTree :: Delimited (
716716 sp( 5 , 14 ) ,
717- Rc :: new ( tokenstream:: Delimited {
717+ tokenstream:: Delimited {
718718 delim: token:: DelimToken :: Paren ,
719- tts: vec![
720- TokenTree :: Token ( sp( 6 , 7 ) , token:: Ident ( Ident :: from_str( "b" ) ) ) ,
721- TokenTree :: Token ( sp( 8 , 9 ) , token:: Colon ) ,
722- TokenTree :: Token ( sp( 10 , 13 ) , token:: Ident ( Ident :: from_str( "i32" ) ) ) ,
723- ] ,
724- } ) ) ,
719+ tts: TokenStream :: concat ( vec![
720+ TokenTree :: Token ( sp( 6 , 7 ) , token:: Ident ( Ident :: from_str( "b" ) ) ) . into ( ) ,
721+ TokenTree :: Token ( sp( 8 , 9 ) , token:: Colon ) . into ( ) ,
722+ TokenTree :: Token ( sp( 10 , 13 ) , token:: Ident ( Ident :: from_str( "i32" ) ) ) . into ( ) ,
723+ ] ) . into ( ) ,
724+ } ) . into ( ) ,
725725 TokenTree :: Delimited (
726726 sp( 15 , 21 ) ,
727- Rc :: new ( tokenstream:: Delimited {
727+ tokenstream:: Delimited {
728728 delim: token:: DelimToken :: Brace ,
729- tts: vec![
730- TokenTree :: Token ( sp( 17 , 18 ) , token:: Ident ( Ident :: from_str( "b" ) ) ) ,
731- TokenTree :: Token ( sp( 18 , 19 ) , token:: Semi ) ,
732- ] ,
733- } ) )
734- ] ;
729+ tts: TokenStream :: concat ( vec![
730+ TokenTree :: Token ( sp( 17 , 18 ) , token:: Ident ( Ident :: from_str( "b" ) ) ) . into ( ) ,
731+ TokenTree :: Token ( sp( 18 , 19 ) , token:: Semi ) . into ( ) ,
732+ ] ) . into ( ) ,
733+ } ) . into ( )
734+ ] ) ;
735735
736736 assert_eq ! ( tts, expected) ;
737737 }
@@ -974,8 +974,8 @@ mod tests {
974974 let expr = parse:: parse_expr_from_source_str ( "foo" . to_string ( ) ,
975975 "foo!( fn main() { body } )" . to_string ( ) , & sess) . unwrap ( ) ;
976976
977- let tts = match expr. node {
978- ast:: ExprKind :: Mac ( ref mac) => mac. node . tts . clone ( ) ,
977+ let tts: Vec < _ > = match expr. node {
978+ ast:: ExprKind :: Mac ( ref mac) => mac. node . stream ( ) . trees ( ) . collect ( ) ,
979979 _ => panic ! ( "not a macro" ) ,
980980 } ;
981981
0 commit comments