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

[res.on.requirements] Not sufficiently clear on transitiveness and disjunctions LWG 3429 #3912

Open
JohelEGP opened this issue Mar 26, 2020 · 1 comment
Labels
lwg Issue must be reviewed by LWG. not-editorial Issue is not deemed editorial; the editorial issue is kept open for tracking.

Comments

@JohelEGP
Copy link
Contributor

JohelEGP commented Mar 26, 2020

-1- A sequence Args of template arguments is said to model a concept C if Args satisfies C (13.5.2 [temp.constr.decl]) and meets all semantic requirements (if any) given in the specification of C.
-2- 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.
-3- If the semantic requirements of a declaration's constraints ([structure.requirements]) are not modeled at the point of use, the program is ill-formed, no diagnostic required.

With this wording:

  • Does random_access_range<span<int>> impose any semantic requirement at all? Because its specification is only code.
  • How about viewable_range<span<int>>? Is it clear that we're only requiring transitively modeling concepts only in the first part of the disjunction which evaluates to true (so borrowed_range and not view)?
  • Is it clear that viewable_range<drop_view<span<int>>> does it the other way around?
@JohelEGP JohelEGP changed the title [res.on.requirements] Not sufficiently clear on recursiveness and disjunctions [res.on.requirements] Not sufficiently clear on transitiveness and disjunctions Mar 27, 2020
@timsong-cpp
Copy link
Contributor

https://cplusplus.github.io/LWG/issue3429

@jensmaurer jensmaurer changed the title [res.on.requirements] Not sufficiently clear on transitiveness and disjunctions [res.on.requirements] Not sufficiently clear on transitiveness and disjunctions LWG3429 Jan 3, 2021
@jensmaurer jensmaurer added lwg Issue must be reviewed by LWG. not-editorial Issue is not deemed editorial; the editorial issue is kept open for tracking. labels Jan 3, 2021
@jensmaurer jensmaurer changed the title [res.on.requirements] Not sufficiently clear on transitiveness and disjunctions LWG3429 [res.on.requirements] Not sufficiently clear on transitiveness and disjunctions LWG 3429 Jan 3, 2021
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

No branches or pull requests

3 participants