https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118027
Arnaud Charlet <charlet at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
CC| |charlet at gcc dot gnu.org
Resolution|--- |INVALID
--- Comment #1 from Arnaud Charlet <charlet at gcc dot gnu.org> ---
This is actually as intended and defined in the Ada RM: -1 actually corresponds
to "-" (the unary operator) and the literal 1, and not the literal -1, so you
also need to define a "-" and "+" unary operator for your type T for your code
to be valid.