protobuf_support/lexer/
int.rs1pub struct Overflow;
2
3pub fn neg(value: u64) -> Result<i64, Overflow> {
5 if value <= 0x7fff_ffff_ffff_ffff {
6 Ok(-(value as i64))
7 } else if value == 0x8000_0000_0000_0000 {
8 Ok(-0x8000_0000_0000_0000)
9 } else {
10 Err(Overflow)
11 }
12}