Skip to content

Conversation

@eisenwave
Copy link
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

Fixes NB PL-009, US 66-117 (C++26 CD).
@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
Copy link
Member

jwakely commented Nov 15, 2025

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.

\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
Copy link
Contributor

@mhoemmen mhoemmen Nov 17, 2025

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
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.

Copy link
Contributor

@mhoemmen mhoemmen left a comment

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! : - )

\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
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.

Copy link
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
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.

Copy link
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

@eisenwave

This comment was marked as resolved.

@eisenwave eisenwave requested a review from jwakely December 11, 2025 17:10
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

4 participants