Skip to main content

integer_text

Function integer_text 

Source
pub fn integer_text(value: i128) -> String
Expand description

An integer as the source text of a C++ constant expression.

The same value C has no literal for, for the same reason one step on: [lex.icon] gives an integer literal no sign, so -9223372036854775808LL is a unary minus over 9223372036854775808 with an LL suffix, and [lex.icon]/3 says a literal whose value fits none of the types its suffix admits is ill-formed. Measured, g++ 16.1.0 answers “integer constant is so large that it is unsigned” and Apple clang 21.0.0 -Wimplicitly-unsigned-literal.

The subtraction is the one <cstdint> writes INT64_MIN as, and crates/wire-probe/src/corba_cpp.rs and tools/wireprobe/wireprobe-zerodds-cpp-gen/src/fill.rs already spell the value that way.