| 327 | type Item = StringLikePart<'a>; |
| 328 | |
| 329 | fn next(&mut self) -> Option<Self::Item> { |
| 330 | let part = match self { |
| 331 | StringLikePartIter::String(inner) => StringLikePart::String(inner.next()?), |
| 332 | StringLikePartIter::Bytes(inner) => StringLikePart::Bytes(inner.next()?), |
| 333 | StringLikePartIter::FString(inner) => { |
| 334 | let part = inner.next()?; |
| 335 | match part { |
| 336 | ast::FStringPart::Literal(string_literal) => { |
| 337 | StringLikePart::String(string_literal) |
| 338 | } |
| 339 | ast::FStringPart::FString(f_string) => StringLikePart::FString(f_string), |
| 340 | } |
| 341 | } |
| 342 | StringLikePartIter::TString(inner) => StringLikePart::TString(inner.next()?), |
| 343 | }; |
| 344 | |
| 345 | Some(part) |
| 346 | } |
| 347 | |
| 348 | fn size_hint(&self) -> (usize, Option<usize>) { |
| 349 | match self { |