How are negative int/float literals handled during lexing/parsing?

I have a PR that removes all the signs from the ast: https://github.com/rust-lang/rust/pull/30508

In the AST a “literal” like -5 is actually ExprUnary(UnOp::Neg, LitInt(5, UnsuffixedIntLit(Plus))). After my change it will be ExprUnary(UnOp::Neg, LitInt(5, UnsuffixedIntLit)).