Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[container.requirements.general]/Table 71 LWG 3352: Remove the requirement for strong_equality #3517

Closed
wants to merge 1 commit into from

Conversation

frederick-vs-ja
Copy link
Contributor

Missed by #3475.

&
\tcode{strong_ordering} &
&
\expects \tcode{X::iterator} meets the random access iterator requirements &
Copy link
Contributor

Choose a reason for hiding this comment

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

\expects seems wrong to me here: this requires all container iterators to implement <=> despite that it would be UB to evaluate i <=> j when i and j are iterators for non-random-access containers. Given that we have concepts that detect comparability based on the validity of expressions, it's not good design to have unusable expressions be well-formed.

I think we should handle this bit of cleanup via LWG issue rather than editorially.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think you are right. And there might 2 kinds of solution IMO, which is preferred?

  1. use \mandates (or \constraints?) instead of \expects;
  2. make a new requirement called "random access container" and move i <=> j to its own table.

Copy link
Member

Choose a reason for hiding this comment

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

Please be so kind and leave the LWG issue number in a comment here.

Copy link
Contributor

Choose a reason for hiding this comment

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

I've submitted this issue to LWGChair, I'll reply back with an issue number once it's assigned.

Copy link
Contributor

Choose a reason for hiding this comment

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

This is now LWG 3352.

@jensmaurer jensmaurer added the lwg Issue must be reviewed by LWG. label Dec 2, 2019
@jensmaurer jensmaurer changed the title [container.requirements.general]/Table 71 Remove the requirement for strong_equality [container.requirements.general]/Table 71 LWG 3352: Remove the requirement for strong_equality Dec 11, 2019
@jensmaurer jensmaurer added the not-editorial Issue is not deemed editorial; the editorial issue is kept open for tracking. label Dec 11, 2019
@frederick-vs-ja frederick-vs-ja deleted the patch-2 branch June 2, 2020 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lwg Issue must be reviewed by LWG. not-editorial Issue is not deemed editorial; the editorial issue is kept open for tracking.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants