Recent GCC versions emit warnings like this during compilation:
<source>:10:31: warning: integer overflow in expression of type 'int' results in '-2147483648' [-Woverflow]
10 | const uint32_t limits[] = { -minInt, maxInt };
| ^~~~~~~
<source>:10:31: warning: narrowing conversion of '-2147483648' from 'int' to 'uint32_t' {aka 'unsigned int'} [-Wnarrowing]
And clang even treats them like an error.