`<experimental/generator>` should be deprecated, then removed
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:
https://github.com/microsoft/STL/blob/faccf0084ed9b8b58df103358174537233b178c7/stl/inc/generator#L480
<experimental/generator> is not a core header, but it seems that we're just making it usable in kernel mode by skipping somethings. It should be investigated what are necessary for skipping.
It's a bit surprising me that <experimental/generator> includes the whole <memory>...
The MSVC compiler added a command-line deprecation warning for the experimental /await option with MSVC-PR-640624 on 2025-06-09, shipped in the MSVC Build Tools 14.50 (VS 2026 18.0).
#5804 implemented a "hard deprecation" for the experimental coroutine headers, including <experimental/generator>, in MSVC Build Tools 14.51.