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
LWG Poll 24: P1739R4 Avoid template bloat for safe_ranges in combination with "sub… #3777
Conversation
If \tcode{decltype((F))} does not model | ||
\tcode{\libconcept{convertible_to}<D>}, | ||
\tcode{views::take(E, F)} is ill-formed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"model" + ill-formed don't work together; advised LWG in http://lists.isocpp.org/lib/2020/02/15451.php
If \tcode{decltype((F))} does not model | ||
\tcode{\libconcept{convertible_to}<D>}, | ||
\tcode{views::drop(E, F)} is ill-formed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"model" + ill-formed don't work together; advised LWG in http://lists.isocpp.org/lib/2020/02/15451.php
If \tcode{decltype((F))} does not model | ||
\tcode{\libconcept{convertible_to}<D>}, | ||
\tcode{views::counted(E, F)} is ill-formed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"model" + ill-formed don't work together; advised LWG in http://lists.isocpp.org/lib/2020/02/15451.php
source/ranges.tex
Outdated
then \tcode{((void) F, \placeholdernc{decay-copy}(E))}; | ||
|
||
\item | ||
otherwise, if \tcode{T} models |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
another "models"; see http://lists.isocpp.org/lib/2020/02/15452.php
(similarly for the other occurrences below)
This seems to make the entire paper unimplementable, and it thus should be rejected.
@zygoloid , this paper incorrectly uses "models" pervasively, which makes it essentially unimplementable. I've emailed LWG, but I'm not sure if anything here can be resurrected editorially. |
P2101R0 (applied with LWG poll 10) adds "If the validity or meaning of a program depends on whether a sequence of template arguments models a concept, and the concept is satisfied but not modeled, the program is ill-formed, no diagnostic required." |
1367c8e
to
462a47b
Compare
…range-y" view adaptors Also fixes NB DE 288 and US 272 (C++20 CD). [range.counted] Moved note to work with new wording.
462a47b
to
12a6300
Compare
I encountered this when editing in a different paper. I find the current approach quite problematic from a comprehensibility standpoint, and I said this in person at Prague too, but it's too late in the cycle to fix this for C++20 (would require someone going through all the library wording and fixing all the places that say "models" when they mean to apply a machine-checkable set of requirements). |
…range-y" view adaptors
Also fixes NB DE 288 and US 272 (C++20 CD).
[range.counted] Moved note to work with new wording.
Fixes #3726.
Fixes cplusplus/papers#503.
Fixes cplusplus/nbballot#284.
Fixes cplusplus/nbballot#268.
Notes: