<iterator>: Remove stdext::checked_array_iterator and stdext::unchecked_array_iterator by StephanTLavavej · Pull Request #5817 · microsoft/STL (original) (raw)
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation2 Commits6 Checks41 Files changed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
Overview
- VS 2022 17.8 released on 2023-11-14 deprecated
stdext::checked_array_iteratorin C++17 mode. - VS 2022 17.11 released on 2024-08-13 deprecated
stdext::checked_array_iteratorunconditionally.
One or two years of deprecation notice is enough. (VS 2022 17.14 and VS 2026 18.0 still support these non-Standard iterators and will be supported for a long time, giving customers plenty of notice and time to migrate.)
These non-Standard iterators make it more difficult to write portable code. They're no longer necessary to avoid obnoxious "output iterator is a raw pointer" warnings from STL algorithms (which we removed a long time ago). gsl::span (available downlevel to C++14) and std::span in C++20 are superior mechanisms, since they act as ranges instead of individual iterators.
Commits
- Remove product code.
- Tombstone the deprecation warning.
- Delete entire tests.
- Remove test coverage.
- Ensure that we never mention these names again.
- Remove unnecessary test usage (originally to silence warnings).
This comment was marked as resolved.
Programmer-Archaeology
Qt
In #4605 (April 2024), I mentioned that "Qt stopped using stdext::checked_array_iterator and backported that to their various release branches". Here are the specific releases, from examining qtbase/src/corelib/global/qcompilerdetection.h:
- Qt 5.15.17 contains the fix.
- I believe this was released in May 2024.
- Qt 6.5.5 contains the fix.
- I believe this was released in March 2024.
- Qt 6.6.1 contains the fix.
- I believe this was released in November 2023.
- Qt 6.7.0 contains the fix.
- I believe this was released in April 2024.
aws-sdk-cpp
Fixed in November 2023 by aws/aws-sdk-cpp#2726.
This was referenced
Nov 7, 2025