Skip to content

P3663R3 Future-proof submdspan_mapping#8526

Merged
tkoeppe merged 1 commit into
cplusplus:mainfrom
eisenwave:motions-2025-11-lwg-5
Dec 14, 2025
Merged

P3663R3 Future-proof submdspan_mapping#8526
tkoeppe merged 1 commit into
cplusplus:mainfrom
eisenwave:motions-2025-11-lwg-5

Conversation

@eisenwave

Copy link
Copy Markdown
Member

Fixes #8464
Fixes NB PL-009, US 66-117 (C++26 CD).

Also fixes cplusplus/papers#2292
Also fixes https://github.com/cplusplus/nbballot/issues/695
Also fixes https://github.com/cplusplus/nbballot/issues/818

Somehow relates to https://github.com/cplusplus/nbballot/issues/815 but I'm not sure how

@eisenwave
eisenwave requested a review from mhoemmen November 15, 2025 15:36
@eisenwave eisenwave added this to the post-2025-11 milestone Nov 15, 2025
@jwakely

jwakely commented Nov 15, 2025

Copy link
Copy Markdown
Member

Somehow relates to cplusplus/nbballot#815 but I'm not sure how

That comment is asking to rename two things, one of which was added by this paper. This commit doesn't address that comment.

Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
\tcode{SubExtents::rank()} equals the number of $k$ such that
$S_k$ does not model \tcode{\libconcept{convertible_to}<IndexType>}; and
\tcode{SubExtents::rank()} equals
\tcode{\exposid{MAP_RANK}(slices, Extents::rank())}; and

@mhoemmen mhoemmen Nov 17, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we have the same issue as above here with Extents::rank(). The existing text below says "for each rank index $k$ of \tcode{Extents}", so it may pay to introduce a name for the extents type. For example, we could change paragraph 1 like this

Let E denote extents<IndexType, Extents...>, and let slices be the pack ....

and then use E throughout, e.g., in paragraph 2.

That being said, perhaps it's better just to merge the text as-is and then file an LWG issue with the above as a proposed fix. What do you think?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That sounds too invasive to do as part of applying the paper.

Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex

@mhoemmen mhoemmen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing the wording for this! : - )

Comment thread source/containers.tex Outdated
Comment thread source/containers.tex
\tcode{M::index_type}
if the function is a member of a class \tcode{M},
the declaration \tcode{auto [...ls] = std::move(s);} is well-formed
for some object \tcode{s} of type $S$,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

S was not in math font in the paper, but I agree that it should be, as was done here.

Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex Outdated
Comment thread source/containers.tex

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The paper requests a drive-by fix from layout_left to layout_right here, but that was already done in f2b0254

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same commit also fixed _rank to rank_ as also requested by the paper.

Comment thread source/containers.tex Outdated
Comment thread source/containers.tex

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The paper also asks for two drive-by fixes here, which were already done by 82bf75b

Comment thread source/containers.tex Outdated
@eisenwave

This comment was marked as resolved.

eisenwave added a commit to eisenwave/draft that referenced this pull request Dec 11, 2025
eisenwave added a commit to eisenwave/draft that referenced this pull request Dec 11, 2025
eisenwave added a commit to eisenwave/draft that referenced this pull request Dec 11, 2025
eisenwave added a commit to eisenwave/draft that referenced this pull request Dec 11, 2025
@eisenwave
eisenwave requested a review from jwakely December 11, 2025 17:10
@tkoeppe
tkoeppe force-pushed the motions-2025-11-lwg-5 branch 2 times, most recently from 6fa5971 to 81ab5be Compare December 14, 2025 16:54
@tkoeppe
tkoeppe force-pushed the motions-2025-11-lwg-5 branch from 81ab5be to 17b7576 Compare December 14, 2025 18:04
Fixes NB PL-009, US 66-117 (C++26 CD).
@tkoeppe
tkoeppe force-pushed the motions-2025-11-lwg-5 branch from 17b7576 to fd8cb30 Compare December 14, 2025 20:00
@tkoeppe
tkoeppe merged commit f07df28 into cplusplus:main Dec 14, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[2025-11 LWG Motion 5] P3663R3 Future-proof submdspan_mapping P3663 R3 Future-proof submdspan-mapping

5 participants