simplifications

This commit is contained in:
Folkert 2022-05-15 22:00:47 +02:00
parent 225254d7e5
commit 1a49930d1d
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C
2 changed files with 26 additions and 36 deletions

View file

@ -180,41 +180,30 @@ fn spaces_help_help<'a, E>(
where where
E: 'a + SpaceProblem, E: 'a + SpaceProblem,
{ {
move |arena, state: State<'a>| { move |arena, state: State<'a>| match fast_eat_spaces(&state) {
match fast_eat_spaces(&state) { FastSpaceState::HasTab(position) => Err((
FastSpaceState::HasTab(position) => Err(( MadeProgress,
MadeProgress, E::space_problem(BadInputError::HasTab, position),
E::space_problem(BadInputError::HasTab, position), state,
state, )),
)), FastSpaceState::Good {
FastSpaceState::Good { newlines,
newlines, consumed,
consumed, column,
column, } => {
} => { if consumed == 0 {
if consumed == 0 { Ok((NoProgress, &[] as &[_], state))
Ok((NoProgress, &[] as &[_], state)) } else if column < min_indent {
} else if column < min_indent { Err((MadeProgress, indent_problem(state.pos()), state))
Err((MadeProgress, indent_problem(state.pos()), state)) } else {
} else { let comments_and_newlines = Vec::with_capacity_in(newlines, arena);
let comments_and_newlines = Vec::with_capacity_in(newlines, arena); let spaces = eat_spaces(state, false, comments_and_newlines);
let spaces = eat_spaces(state, false, comments_and_newlines);
let mut state = spaces.state;
if spaces.multiline { Ok((
// we parsed at least one newline MadeProgress,
spaces.comments_and_newlines.into_bump_slice(),
state.indent_column = state.column(); spaces.state,
))
debug_assert!(state.column() >= min_indent);
}
Ok((
MadeProgress,
spaces.comments_and_newlines.into_bump_slice(),
state,
))
}
} }
} }
} }

View file

@ -2789,10 +2789,11 @@ fn chomp_ops(bytes: &[u8]) -> &str {
let mut chomped = 0; let mut chomped = 0;
for c in bytes.iter() { for c in bytes.iter() {
if !BINOP_CHAR_MASK[*c as usize] { if let Some(true) = BINOP_CHAR_MASK.get(*c as usize) {
chomped += 1;
} else {
break; break;
} }
chomped += 1;
} }
unsafe { unsafe {