format.h uses MSVC's stdext::checked_array_iterator:
|
#if defined(_SECURE_SCL) && _SECURE_SCL |
|
// Make a checked iterator to avoid MSVC warnings. |
|
template <typename T> using checked_ptr = stdext::checked_array_iterator<T*>; |
After microsoft/STL#3818 ships in VS 2022 17.8 Preview 2, this will emit deprecation warnings (in C++17 mode and later). We want to discourage use of this non-Standard extension, towards eliminating it in a future version.
MSVC's STL eliminated the incredibly annoying "copying to a raw pointer" warnings many versions ago (it was VS 2017 15.8, I believe), so you should simply be able to drop this usage of stdext::checked_array_iterator and use portable code for all platforms.
format.huses MSVC'sstdext::checked_array_iterator:fmt/include/fmt/format.h
Lines 563 to 565 in 661b23e
After microsoft/STL#3818 ships in VS 2022 17.8 Preview 2, this will emit deprecation warnings (in C++17 mode and later). We want to discourage use of this non-Standard extension, towards eliminating it in a future version.
MSVC's STL eliminated the incredibly annoying "copying to a raw pointer" warnings many versions ago (it was VS 2017 15.8, I believe), so you should simply be able to drop this usage of
stdext::checked_array_iteratorand use portable code for all platforms.