https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107761
--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>: https://gcc.gnu.org/g:a33b5db97c4e87bd02f1af1a75b2d84376442fa0 commit r16-442-ga33b5db97c4e87bd02f1af1a75b2d84376442fa0 Author: Luc Grosheintz <luc.groshei...@gmail.com> Date: Tue Apr 29 14:46:09 2025 +0200 libstdc++: Implement std::extents [PR107761]. This implements std::extents from <mdspan> according to N4950 and contains partial progress towards PR107761. If an extent changes its type, there's a precondition in the standard, that the value is representable in the target integer type. This precondition is not checked at runtime. The precondition for 'extents::{static_,}extent' is that '__r < rank()'. For extents<T> this precondition is always violated and results in calling __builtin_trap. For all other specializations it's checked via __glibcxx_assert. PR libstdc++/107761 libstdc++-v3/ChangeLog: * include/std/mdspan (extents): New class. * src/c++23/std.cc.in: Add 'using std::extents'. Signed-off-by: Luc Grosheintz <luc.groshei...@gmail.com>