File tree Expand file tree Collapse file tree 2 files changed +12
-3
lines changed
tests/std/tests/P2502R2_generator_promise Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -289,11 +289,10 @@ namespace _Gen_detail {
289
289
template <_RANGES input_range _Rng, class _Alloc>
290
290
requires convertible_to<_RANGES range_reference_t<_Rng>, _Yielded>
291
291
_NODISCARD auto yield_value(_RANGES elements_of<_Rng, _Alloc> _Elem) {
292
- using _Vty = _RANGES range_value_t<_Rng>;
293
- using _Nested_awaitable = _Nested_awaitable_provider<_Yielded, _Vty, _Alloc>::_Awaitable;
292
+ using _Nested_awaitable = _Nested_awaitable_provider<_Yielded, void, _Alloc>::_Awaitable;
294
293
295
294
auto _Lambda = [](allocator_arg_t, _Alloc, _RANGES iterator_t<_Rng> _It,
296
- const _RANGES sentinel_t<_Rng> _Se) -> generator<_Yielded, _Vty , _Alloc> {
295
+ const _RANGES sentinel_t<_Rng> _Se) -> generator<_Yielded, void , _Alloc> {
297
296
for (; _It != _Se; ++_It) {
298
297
co_yield static_cast<_Yielded>(*_It);
299
298
}
Original file line number Diff line number Diff line change 13
13
#include < memory_resource>
14
14
#include < new>
15
15
#include < ranges>
16
+ #include < span>
16
17
#include < string>
17
18
#include < type_traits>
18
19
#include < utility>
@@ -226,6 +227,15 @@ struct Holder {
226
227
struct Incomplete ;
227
228
#endif // ^^^ no workaround ^^^
228
229
230
+ #if !(defined(__clang__) && defined(_M_IX86)) // TRANSITION, LLVM-56507
231
+ // Also test LWG-4119:
232
+ // "generator::promise_type::yield_value(ranges::elements_of<R, Alloc>)'s nested generator may be ill-formed"
233
+ generator<span<int >> test_lwg_4119 () { // COMPILE-ONLY
234
+ vector<vector<int >> v;
235
+ co_yield ranges::elements_of (v);
236
+ }
237
+ #endif // ^^^ no workaround ^^^
238
+
229
239
int main () {
230
240
test_with_type<int >();
231
241
test_with_type<float >();
You can’t perform that action at this time.
0 commit comments