Repository navigation
Commit 547d3bc
committed
fix(exec): use STDEXEC_IMMOVABLE_NO_UNIQUE_ADDRESS in iterate operation state
The range, iterator, and sentinel members of __operation_base_base are
part of an operation state, so the plain no_unique_address attribute is
not the right macro for them: on gcc it must be dropped for immovable
types (gcc#98995). STDEXEC_IMMOVABLE_NO_UNIQUE_ADDRESS does exactly
that -- it expands to nothing on gcc and to [[no_unique_address]]
elsewhere -- and is what the rest of the codebase uses for operation
state members.
clang-format 21 clean; test.exec (394 cases) and test.stdexec (628
cases) pass in Release and Debug with STDEXEC_ENABLE_EXTRA_TYPE_CHECKING
on.1 parent 4ee2abc commit 547d3bc
1 file changed
Lines changed: 5 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
96 | | - | |
97 | | - | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
98 | 100 | | |
99 | 101 | | |
100 | 102 | | |
| |||
0 commit comments