This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.

3861. mdspan layout_stride::mapping default constructor problem

Section: 24.7.3.4.7 [mdspan.layout.stride] Status: New Submitter: Christian Robert Trott Opened: 2023-01-25 Last modified: 2023-02-06

Priority: 1

View all issues with New status.

Discussion:

During work on some follow on proposals for C++26 (like the padded layouts and submdspan) we stumbled over an issue in the C++23 mdspan definition.

If you have a layout_stride::mapping with just static extents, its default constructor will produce an inconsistent mapping. All its strides will be 0 but its extents are not. Thus the is_unique property is violated. We wrote a paper to fix this: P2763R0. We describe two options to fix it and state why we prefer one over the other, with proposed wording changes.

[2023-02-06; Reflector poll]

Set priority to 1 after reflector poll.

Proposed resolution: