Patrick Steinhardt <ps@xxxxxx> writes: > Yup, fully agreed, and this is a good reason why it should be signed. In > the case at hand though we never use such sentinel values, I think > making that explicit by using an unsigned type is a good thing as it > tells the reader that "Yup, no sentinels involved, it's a plain counter > from 0 to $NUM_ENTRIES". I do not think such a "statement" has much values, especially the right $NUM_ENTRIES is different for specific cases and is not expressed anywhere. Also, by making it explicit, such a move is also making it explicit that we want to close the door for certain future evolution of the code paths involved. I.e. anything that starts to require the member or the variable to use a sentinel value is unwelcome. So, I am not sure if I buy the above as a justification for this change.