Created on 2020-03-23.00:00:00 last changed 4 months ago
Notes from the July, 2020 teleconference:
CWG felt that no changes should be made to 12.5 [over.built].
According to the definitions in 6.8.2 [basic.fundamental], the arithmetic types include only the non-cv-qualified versions. In the taxonomy of fundamental types, the first mention of “cv-qualified versions of these types” is for scalar types (6.8 [basic.types] paragraph 9). However, 188.8.131.52 [expr.post.incr] paragraph 1 and 184.108.40.206 [expr.pre.incr] paragraph 1 both say:
The type of the operand shall be an arithmetic type other than cv bool, or...
which is a contradiction, since cv-qualified bool is not an arithmetic type. Similarly, 7.6.19 [expr.ass] paragraph 6 requires an arithmetic type for += and -=. D.6 [depr.volatile.type] deprecates the increment and decrement operators when applied to volatile-qualified arithmetic types, but the wording already made those ill-formed (since the normative wording requires an arithmetic type and not a possibly cv-qualified version thereof).
A related question is whether 12.5 [over.built], which explicitly allows for cv-qualified arithmetic types, should also note the deprecation.
See also issue 2185.
|2020-12-15 00:00:00||admin||set||messages: + msg6232|