diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index 74fc43e521b6..fb69e440b2fb 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -153,6 +153,9 @@ pub fn int_ty_to_str(t: IntTy, val: Option, mode: SuffixMode) -> StrBuf { }; match val { + // cast to a u64 so we can correctly print INT64_MIN. All integral types + // are parsed as u64, so we wouldn't want to print an extra negative + // sign. Some(n) => format!("{}{}", n as u64, s).to_strbuf(), None => s.to_strbuf() }