/
githubmirror
/
sway
Обзор
Документация
Войти
/
githubmirror
/
sway
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
sway-parse/src/punctuated.rs
34 строки
1 KB
Nick Furfaro
Run `cargo clippy --fix` in the sway repo (#3903)
27 янв 2023, 00:05
Не верифицирован
27 янв 2023, 00:05
ed1bc39
Код
Авторство
О чём код?
use crate::{Parse, ParseResult, ParseToEnd, Parser, ParserConsumed}; use sway_ast::punctuated::Punctuated; impl<T, P> ParseToEnd for Punctuated<T, P> where T: Parse, P: Parse, { fn parse_to_end<'a, 'e>( mut parser: Parser<'a, '_>, ) -> ParseResult<(Punctuated<T, P>, ParserConsumed<'a>)> { let mut value_separator_pairs = Vec::new(); loop { if let Some(consumed) = parser.check_empty() { let punctuated = Punctuated { value_separator_pairs, final_value_opt: None, }; return Ok((punctuated, consumed)); } let value = parser.parse()?; if let Some(consumed) = parser.check_empty() { let punctuated = Punctuated { value_separator_pairs, final_value_opt: Some(Box::new(value)), }; return Ok((punctuated, consumed)); } let separator = parser.parse()?; value_separator_pairs.push((value, separator)); } } }