I know it's really an edge case since it can only happen when not reading the awesome documentation properly.
But since it's actually a contradiction according to the documentation and other similar things are also throwing an error, you might want to consider checking for this case and throwing an INVALID_DEFINITIONS error?
Alternatively it would make sense to just document which one wins,
A lightweight cross-platform getopt alternative that works on Linux, Windows and macOS. Command line argument parser library for C/C++. Can be used to parse argv and argc parameters.
Unit test files contain #includes that are never used. This applies for sure to limits.h in test_program.c. Probably other header might also be unnecesary.
I know it's really an edge case since it can only happen when not reading the awesome documentation properly.
But since it's actually a contradiction according to the documentation and other similar things are also throwing an error, you might want to consider checking for this case and throwing an INVALID_DEFINITIONS error?
Alternatively it would make sense to just document which one wins,