Skip to content

[mdspan.sub.map.sliceable] Fix M::extent_type to M::extents_type#8997

Merged
tkoeppe merged 1 commit intocplusplus:mainfrom
abhinavagarwal07:fix-sliceable-extents-type
Apr 27, 2026
Merged

[mdspan.sub.map.sliceable] Fix M::extent_type to M::extents_type#8997
tkoeppe merged 1 commit intocplusplus:mainfrom
abhinavagarwal07:fix-sliceable-extents-type

Conversation

@abhinavagarwal07
Copy link
Copy Markdown
Contributor

Layout mapping types expose extents_type, not extent_type (the latter is a member of extent_slice). The Let clause in [mdspan.sub.map.sliceable] defines IT and M_rank via the undefined member M::extent_type, making the subsequent sliceable layout mapping requirements uninterpretable.

The same subclause uses LayoutMapping::extents_type::rank() and SM::extents_type::{rank,index_type} correctly elsewhere.

Layout mapping types expose extents_type, not extent_type; the
latter is a member of extent_slice. As written, IT and M_rank
in the Let clause name an undefined member.
@eisenwave eisenwave added the P1-Important Misapplication of paper, malformed code, internal inconsistencies label Apr 27, 2026
@tkoeppe
Copy link
Copy Markdown
Contributor

tkoeppe commented Apr 27, 2026

@mhoemmen could you have a look?

@jwakely
Copy link
Copy Markdown
Member

jwakely commented Apr 27, 2026

The error is in the incoming paper but it should definitely be extents_type. The extents_slice::extent_type alias typically refers to an integral or integral-constant-like type, so extent_type::index_type and extent_type::rank() are not valid - it should certainly be extents_type.

@tkoeppe tkoeppe merged commit 2a8305d into cplusplus:main Apr 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P1-Important Misapplication of paper, malformed code, internal inconsistencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants