IDE language servers like rust-analyzer and clangd lex code that is broken almost all the time — you are mid-keystroke — so skipping invalid characters and resynchronizing is their normal mode of operation. Without lexer recovery, a single stray '@' would kill autocomplete for the whole file.