Thanks to visit codestin.com
Credit goes to github.com

Skip to content

<experimental/generator> should be deprecated, then removed #5000

@StephanTLavavej

Description

@StephanTLavavej

We've merged C++23 <generator> for VS 2022 17.13 Preview 1 (#4953).

It's time to deprecate and then remove <experimental/generator>, since we don't want to encourage users writing non-Standard code when superior replacements are available. (Additionally, early adopters of experimental machinery should know what they're signing up for and can reasonably be expected to be eager upgraders.) This will also avoid bugs in the experimental implementation like #4999.

According to @CaseyCarter, <experimental/generator> generally has very similar behavior to <generator> except in weird corner cases.

For removal, we do need to investigate whether Windows took a dependency on <experimental/generator> in kernel mode, which <generator> does not (yet) attempt to support. If we had to support kernel mode in this one header, it would have to become a core header and we would have to change how we verify preconditions:

_STL_VERIFY(!_Coro.done(), "Can't dereference generator end iterator");

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementSomething can be improved

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions