-Wall does not warn all
even -wextra does not warn this extra
Always add -Wconversion for type checks.
Conversion from int to char is never warned is this option is not switched on, which is a terrible thing because numerous errors come from the conversion loss.
I use google/re2 project to transform pcre format regular expressions to DFA. Each step the DFA accepts one char, but there are some more special numbers defined outside char range. So the nextState fucntion accepts an int argument. I wrap this function with a char interface. Obviously it is wrong, but I made the mistake without any warnings…