I was looking at the Carbon lexer as a template for another one (it was very small and C-like), and noticed an issue.
#2370 (CC @AmrDeveloper) switched the integer regexes to +?, which is non-greedy. As a result, multi-character integers such as 1234 or 0x1234abcd get lexed funny. They're not covered by tests, but the lex ends up being:
' ' Text.Whitespace
'1' Literal.Number.Integer
'2' Literal.Number.Integer
'3' Literal.Number.Integer
'4' Literal.Number.Integer
'\n' Text.Whitespace
' ' Text.Whitespace
'0x1' Literal.Number.Hex
'2' Literal.Number.Integer
'3' Literal.Number.Integer
'4' Literal.Number.Integer
'abcd' Name.Other
'\n' Text.Whitespace