Open Eisenwave opened 4 months ago
Yet another option is to make the rules in [expr.type] p1 more complete; references to functions are adjusted to lvalues in all cases, so we could at least say that there instead of keeping it vague with "depending on the expression".
We have the general rule [expr.type] p1:
For function calls, there is the more concrete rule [expr.call] p13:
I feel like we should connect these paragraphs in some way. The main reason why we need [expr.type] p1 is for function calls anyway. I'm not sure if it even serves any purpose or is completely covered by more concrete rules.
In any case, we could leave some note such as
If it turns out that [expr.type] p1 is covered by other rules, we could consider turning it into a note or deleting it. The current wording strategy is to always state what type and value category an expression has, so I cannot think of any non-defective wording where [expr.type] p1 would apply.