@@ -79,7 +79,7 @@ impl<'a> Parser<'a> {
7979 } ) ) ) ;
8080 }
8181
82- match self . bytes [ abs_pos] {
82+ let token = match self . bytes [ abs_pos] {
8383 b'\\' => {
8484 if abs_pos + 1 < self . bytes . len ( ) {
8585 match self . bytes [ abs_pos + 1 ] {
@@ -94,16 +94,16 @@ impl<'a> Parser<'a> {
9494 _ => unreachable ! ( ) ,
9595 } ;
9696 self . skip_to ( abs_pos + 2 ) ;
97- return Some ( Token :: Text ( Cow :: Borrowed ( escaped) ) ) ;
97+ Some ( Token :: Text ( Cow :: Borrowed ( escaped) ) )
9898 }
9999 _ => {
100100 self . skip_to ( abs_pos + 1 ) ;
101- return Some ( Token :: Text ( Cow :: Borrowed ( "\\ " ) ) ) ;
101+ Some ( Token :: Text ( Cow :: Borrowed ( "\\ " ) ) )
102102 }
103103 }
104104 } else {
105105 self . skip_to ( self . bytes . len ( ) ) ;
106- return Some ( Token :: Text ( Cow :: Borrowed ( "\\ " ) ) ) ;
106+ Some ( Token :: Text ( Cow :: Borrowed ( "\\ " ) ) )
107107 }
108108 }
109109 b'{' => {
@@ -114,25 +114,30 @@ impl<'a> Parser<'a> {
114114 parse_placeholder ( unsafe { std:: str:: from_utf8_unchecked ( content) } )
115115 {
116116 self . skip_to ( end_pos + 1 ) ;
117- return Some ( Token :: Placeholder ( params) ) ;
117+ Some ( Token :: Placeholder ( params) )
118+ } else {
119+ self . skip_to ( abs_pos + 1 ) ;
120+ Some ( Token :: Text ( Cow :: Borrowed ( "{" ) ) )
118121 }
122+ } else {
123+ self . skip_to ( abs_pos + 1 ) ;
124+ Some ( Token :: Text ( Cow :: Borrowed ( "{" ) ) )
119125 }
120-
121- self . skip_to ( abs_pos + 1 ) ;
122- return Some ( Token :: Text ( Cow :: Borrowed ( "{" ) ) ) ;
123126 }
124127 b'}' => {
125128 self . skip_to ( abs_pos + 1 ) ;
126- return Some ( Token :: Text ( Cow :: Borrowed ( "}" ) ) ) ;
129+ Some ( Token :: Text ( Cow :: Borrowed ( "}" ) ) )
127130 }
128131 _ => unreachable ! ( ) ,
129- }
130- } else {
131- self . skip_to ( self . bytes . len ( ) ) ;
132- return Some ( Token :: Text ( Cow :: Borrowed ( unsafe {
133- self . current_slice ( start)
134- } ) ) ) ;
132+ } ;
133+
134+ return token;
135135 }
136+
137+ self . skip_to ( self . bytes . len ( ) ) ;
138+ Some ( Token :: Text ( Cow :: Borrowed ( unsafe {
139+ self . current_slice ( start)
140+ } ) ) )
136141 }
137142}
138143
0 commit comments