Skip to content

Commit 20a6b63

Browse files
[libcxx] Include __fwd/span.h in <mdspan>
This patch includes __fwd/span.h in <mdspan> so that we get the declaration of dynamic_extent inside <mdspan>. We also clean up quite a few tests that were manually included <span> for dynamic_extent. This is based on feedback from #142693. Reviewers: philnik777, ldionne Reviewed By: philnik777 Pull Request: #142925
1 parent 9ee4b35 commit 20a6b63

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+6
-56
lines changed

libcxx/include/mdspan

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,12 @@ namespace std {
450450
# include <__config>
451451

452452
# if _LIBCPP_STD_VER >= 23
453-
# include <__fwd/mdspan.h>
453+
# include <__fwd/mdspan.h> // TODO(boomanaiden154): This is currently a
454+
// non-standard extension to include
455+
// std::dynamic_extent tracked by LWG issue 4275.
456+
// This comment should be deleted or the include
457+
// deleted upon resolution.
458+
# include <__fwd/span.h>
454459
# include <__mdspan/default_accessor.h>
455460
# include <__mdspan/extents.h>
456461
# include <__mdspan/layout_left.h>

libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#include <cstddef>
2626
#include <limits>
2727
#include <mdspan>
28-
#include <span> // dynamic_extent
2928
#include <type_traits>
3029
#include <utility>
3130

libcxx/test/std/containers/views/mdspan/extents/comparison.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
#include <cassert>
2121
#include <cstddef>
2222
#include <mdspan>
23-
#include <span> // dynamic_extent
2423

2524
#include "test_macros.h"
2625

libcxx/test/std/containers/views/mdspan/extents/conversion.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
#include <cstddef>
3333
#include <limits>
3434
#include <mdspan>
35-
#include <span> // dynamic_extent
3635
#include <type_traits>
3736

3837
template <class To, class From>

libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
#include <cassert>
2020
#include <cstddef>
2121
#include <mdspan>
22-
#include <span> // dynamic_extent
2322
#include <type_traits>
2423

2524
#include "../ConvertibleToIntegral.h"

libcxx/test/std/containers/views/mdspan/extents/dextents.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
#include <mdspan>
2020
#include <cstddef>
21-
#include <span> // dynamic_extent
2221

2322
#include "test_macros.h"
2423

libcxx/test/std/containers/views/mdspan/extents/dims.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
#include <mdspan>
2020
#include <cstddef>
21-
#include <span> // dynamic_extent
2221

2322
#include "test_macros.h"
2423

libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
#include <cstddef>
2020
#include <climits>
2121
#include <mdspan>
22-
#include <span> // dynamic_extent
2322

2423
void invalid_index_types() {
2524
// expected-error@*:* {{static assertion failed: extents::index_type must be a signed or unsigned integer type}}

libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
#include <cassert>
3030
#include <cstddef>
3131
#include <mdspan>
32-
#include <span> // dynamic_extent
3332
#include <utility>
3433

3534
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
#include <concepts>
2727
#include <cstddef>
2828
#include <mdspan>
29-
#include <span> // dynamic_extent
3029
#include <type_traits>
3130

3231
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_left/comparison.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#include <cassert>
1919
#include <cstddef>
2020
#include <mdspan>
21-
#include <span> // dynamic_extent
2221

2322
#include "test_macros.h"
2423

libcxx/test/std/containers/views/mdspan/layout_left/ctor.default.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#include <cstddef>
1919
#include <cstdint>
2020
#include <mdspan>
21-
#include <span> // dynamic_extent
2221

2322
#include "test_macros.h"
2423

libcxx/test/std/containers/views/mdspan/layout_left/ctor.extents.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#include <cstddef>
2222
#include <cstdint>
2323
#include <mdspan>
24-
#include <span> // dynamic_extent
2524

2625
#include "test_macros.h"
2726

libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#include <cstddef>
2525
#include <limits>
2626
#include <mdspan>
27-
#include <span> // dynamic_extent
2827
#include <type_traits>
2928

3029
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
#include <cassert>
2828
#include <cstddef>
2929
#include <mdspan>
30-
#include <span> // dynamic_extent
3130
#include <type_traits>
3231

3332
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
#include <cstddef>
2323
#include <limits>
2424
#include <mdspan>
25-
#include <span> // dynamic_extent
2625
#include <type_traits>
2726

2827
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
#include <cstddef>
2828
#include <cstdint>
2929
#include <mdspan>
30-
#include <span> // dynamic_extent
3130
#include <type_traits>
3231

3332
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
#include <cassert>
3030
#include <cstddef>
3131
#include <mdspan>
32-
#include <span> // dynamic_extent
3332
#include <utility>
3433

3534
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_left/required_span_size.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#include <cstddef>
1919
#include <cstdint>
2020
#include <mdspan>
21-
#include <span> // dynamic_extent
2221

2322
#include "test_macros.h"
2423

libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@
7979
#include <cassert>
8080
#include <cstddef>
8181
#include <mdspan>
82-
#include <span> // dynamic_extent
8382
#include <type_traits>
8483
#include <utility>
8584

libcxx/test/std/containers/views/mdspan/layout_left/stride.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
#include <cassert>
2424
#include <cstdint>
2525
#include <cstdio>
26-
#include <span> // dynamic_extent
2726

2827
#include "test_macros.h"
2928

libcxx/test/std/containers/views/mdspan/layout_right/comparison.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#include <cassert>
1919
#include <cstddef>
2020
#include <mdspan>
21-
#include <span> // dynamic_extent
2221

2322
#include "test_macros.h"
2423

libcxx/test/std/containers/views/mdspan/layout_right/ctor.default.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#include <cstddef>
1919
#include <cstdint>
2020
#include <mdspan>
21-
#include <span> // dynamic_extent
2221

2322
#include "test_macros.h"
2423

libcxx/test/std/containers/views/mdspan/layout_right/ctor.extents.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#include <cstddef>
2222
#include <cstdint>
2323
#include <mdspan>
24-
#include <span> // dynamic_extent
2524

2625
#include "test_macros.h"
2726

libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#include <cstddef>
2525
#include <limits>
2626
#include <mdspan>
27-
#include <span> // dynamic_extent
2827
#include <type_traits>
2928

3029
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
#include <cassert>
2828
#include <cstddef>
2929
#include <mdspan>
30-
#include <span> // dynamic_extent
3130
#include <type_traits>
3231

3332
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
#include <cstddef>
2323
#include <limits>
2424
#include <mdspan>
25-
#include <span> // dynamic_extent
2625
#include <type_traits>
2726

2827
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
#include <cstddef>
2828
#include <cstdint>
2929
#include <mdspan>
30-
#include <span> // dynamic_extent
3130
#include <type_traits>
3231

3332
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
#include <cassert>
3030
#include <cstddef>
3131
#include <mdspan>
32-
#include <span> // dynamic_extent
3332
#include <utility>
3433

3534
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_right/required_span_size.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#include <cstddef>
1919
#include <cstdint>
2020
#include <mdspan>
21-
#include <span> // dynamic_extent
2221

2322
#include "test_macros.h"
2423

libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@
7979
#include <cassert>
8080
#include <cstddef>
8181
#include <mdspan>
82-
#include <span> // dynamic_extent
8382
#include <type_traits>
8483
#include <utility>
8584

libcxx/test/std/containers/views/mdspan/layout_right/stride.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
#include <cassert>
2424
#include <cstdint>
2525
#include <cstdio>
26-
#include <span> // dynamic_extent
2726

2827
#include "test_macros.h"
2928

libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#include <mdspan>
2626
#include <cassert>
2727
#include <concepts>
28-
#include <span> // dynamic_extent
2928
#include <type_traits>
3029

3130
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_stride/ctor.default.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#include <cstddef>
2525
#include <cstdint>
2626
#include <mdspan>
27-
#include <span> // dynamic_extent
2827

2928
#include "test_macros.h"
3029

libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_array.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
#include <cstddef>
3333
#include <cstdint>
3434
#include <mdspan>
35-
#include <span> // dynamic_extent
3635
#include <type_traits>
3736

3837
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
#include <mdspan>
3939
#include <cassert>
4040
#include <limits>
41-
#include <span> // dynamic_extent
4241
#include <type_traits>
4342

4443
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
#include <array>
2828
#include <cassert>
2929
#include <cstdint>
30-
#include <span> // dynamic_extent
3130
#include <type_traits>
3231

3332
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
#include <cassert>
2424
#include <cstddef>
2525
#include <mdspan>
26-
#include <span> // dynamic_extent
2726

2827
template <class E>
2928
constexpr void

libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
#include <concepts>
4444
#include <cstddef>
4545
#include <mdspan>
46-
#include <span> // dynamic_extent
4746
#include <type_traits>
4847

4948
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/layout_stride/required_span_size.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#include <cstddef>
2525
#include <cstdint>
2626
#include <mdspan>
27-
#include <span> // dynamic_extent
2827

2928
#include "test_macros.h"
3029

libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@
7979
#include <cassert>
8080
#include <cstddef>
8181
#include <mdspan>
82-
#include <span> // dynamic_extent
8382
#include <type_traits>
8483
#include <utility>
8584

libcxx/test/std/containers/views/mdspan/layout_stride/stride.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
#include <cassert>
2424
#include <cstdint>
2525
#include <cstdio>
26-
#include <span> // dynamic_extent
2726

2827
#include "test_macros.h"
2928

libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
#include <mdspan>
1515
#include <cassert>
1616
#include <concepts>
17-
#include <span> // dynamic_extent
1817
#include <type_traits>
1918

2019
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
#include <mdspan>
4242
#include <cassert>
4343
#include <concepts>
44-
#include <span> // dynamic_extent
4544
#include <type_traits>
4645

4746
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#include <mdspan>
1717
#include <cassert>
1818
#include <concepts>
19-
#include <span> // dynamic_extent
2019
#include <type_traits>
2120

2221
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#include <mdspan>
2525
#include <cassert>
2626
#include <concepts>
27-
#include <span> // dynamic_extent
2827
#include <type_traits>
2928

3029
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
#include <cassert>
3333
#include <concepts>
3434
#include <mdspan>
35-
#include <span> // dynamic_extent
3635
#include <type_traits>
3736

3837
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
#include <mdspan>
2727
#include <cassert>
2828
#include <concepts>
29-
#include <span> // dynamic_extent
3029
#include <type_traits>
3130

3231
#include "test_macros.h"

libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
#include <cassert>
3434
#include <concepts>
3535
#include <mdspan>
36-
#include <span> // dynamic_extent
3736
#include <type_traits>
3837

3938
#include "test_macros.h"

0 commit comments

Comments
 (0)