Created on 2023-08-19.00:00:00 last changed 3 months ago
[ 2024-07-25 Status changed: New → Resolved. ]
Resolved by p2968r2, approved in St. Louis.
[ 2023-11-03; Reflector poll ]
Set priority to 4 after reflector poll. "Specify it as code." "P2968 should fix this."
[tuple.creation]/5 currently says:
[…] When an argument in t is ignore, assigning any value to the corresponding tuple element has no effect.
which is unimplementable for volatile-qualified bit-field glvalues.
In order to passing such a value to the operator= function, a distinct object needs to be created and thus the read from the volatile glvalue, which is a side effect ([intro.execution]/7), is unavoidable. P2968R0 addresses the impossibility of assignment from void values, but doesn't talk about volatile bit-fields. Perhaps we should explicitly say that the program is ill-formed if a volatile bit-field value is assigned to std::ignore (which is implemented in libstdc++ and MSVC STL, but not in libc++).History | |||
---|---|---|---|
Date | User | Action | Args |
2024-07-25 11:38:45 | admin | set | messages: + msg14264 |
2024-07-25 11:38:45 | admin | set | status: new -> resolved |
2023-11-03 18:08:28 | admin | set | messages: + msg13804 |
2023-08-19 00:00:00 | admin | create |