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

[structure] needs an overhaul #2528

Open
zygoloid opened this issue Nov 27, 2018 · 3 comments
Open

[structure] needs an overhaul #2528

zygoloid opened this issue Nov 27, 2018 · 3 comments
Labels
lwg Issue must be reviewed by LWG.
Milestone

Comments

@zygoloid
Copy link
Member

Looking through [structure], we find:

  • [structure.elements] does not correctly describe any of the library clauses. There is no "Summary" subclause, no "Detailed specifications" subclause, the references to the C library are not collected together as is suggested therein. And what is an "element" anyway?
  • [structure.summary]'s first sentence might be approximately correct, but the second sentence is not. And the second paragraph doesn't seem to provide any expositionary value whatsoever.
  • [structure.specifications]: bullet 1.1 is not something we really do; paragraph 2 belongs on our wiki not in the working draft
  • [structure.see.also] has a suspicious section name

There's lots of scope for improvements here.

@JohelEGP
Copy link
Contributor

I had correlated the "Summary" and "Detailed specifications" with the [x.general] subclauses right after the [x] top-level Clauses and the descriptions of the library entities following the format in [structure.specifications], respectively. So I thought that [structure.elements] correctly described all the library clauses.

As for http://eel.is/c++draft/structure#summary-1.sentence-2, I thought those were the [x.syn] subclauses ("listing the headers specified in the subclause") and their content ("the library entities provided in each header.")

[structure.specifications]/1.1 is mostly done with classes and class templates (at least for the parts I usually refer to), but rarely with functions and function templates. For the latter, the only examples I can recall are in [utilities]: https://wg21.link/forward and https://wg21.link/declval, although they don't mention the name.

@jensmaurer jensmaurer added the decision-required A decision of the editorial group (or the Project Editor) is required. label Dec 7, 2018
@jensmaurer
Copy link
Member

Let's find out what we actually want to do here, and how much coordination with LWG we should endeavour.

@JohelEGP
Copy link
Contributor

This might be a good opportunity to specify how to present concepts. The detailed specifications in [concepts] seem to follow a variation of those in [structure.specifications] better fit for concepts:

  • Name and brief description
  • Concept definition
  • Semantics on expressions

@jensmaurer jensmaurer added lwg Issue must be reviewed by LWG. and removed decision-required A decision of the editorial group (or the Project Editor) is required. labels Feb 22, 2019
@jensmaurer jensmaurer added this to the C++23 milestone Nov 10, 2019
@jensmaurer jensmaurer modified the milestones: C++23, C++26 Oct 23, 2023
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.
Projects
Development

No branches or pull requests

3 participants