> each expression is parsed, and thus must be valid.
There's multiple kinds of "valid".
The code has valid syntax but invalid types.
The preprocessor doesn't understand types, so it can't know the code has invalid types, right? So this error is not happening in the preprocessor, right?
Therefore changing this behavior would not require preprocessor changes/shoehorning. This error is not a consequence of how the preprocessor works.
> each expression is parsed, and thus must be valid.
There's multiple kinds of "valid".
The code has valid syntax but invalid types.
The preprocessor doesn't understand types, so it can't know the code has invalid types, right? So this error is not happening in the preprocessor, right?
Therefore changing this behavior would not require preprocessor changes/shoehorning. This error is not a consequence of how the preprocessor works.