Skip to content

[structure] needs an overhaul #2528

Open

Description

@zygoloid

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.

Activity

  1. JohelEGP commented on Nov 30, 2018

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

  2. added
    decision-requiredA decision of the editorial group (or the Project Editor) is required.
    on Dec 7, 2018
  3. jensmaurer commented on Dec 7, 2018

    @jensmaurer
    Member

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

  4. JohelEGP commented on Dec 11, 2018

    @JohelEGP
    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
  5. added
    lwgIssue must be reviewed by LWG.
    and removed
    decision-requiredA decision of the editorial group (or the Project Editor) is required.
    on Feb 22, 2019
  6. added this to the C++23 milestone on Nov 10, 2019
  7. modified the milestones: C++23, C++26 on Oct 23, 2023
  8. AlisdairM commented on Nov 14, 2025

    @AlisdairM
    Contributor

    Should this be linked to #7399?
    Should the milestone move to C++29, or do we still think that this is in scope for C++26?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    lwgIssue must be reviewed by LWG.

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions