-
Notifications
You must be signed in to change notification settings - Fork 752
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
[except.spec] Exception specifications are declarations #7308
[except.spec] Exception specifications are declarations #7308
Conversation
source/declarations.tex
Outdated
@@ -4422,6 +4422,272 @@ | |||
\indextext{declaration!default argument|)}% | |||
\indextext{declarator!meaning of|)} |
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.
This should be after the added text.
source/declarations.tex
Outdated
@@ -4422,6 +4422,272 @@ | |||
\indextext{declaration!default argument|)}% | |||
\indextext{declarator!meaning of|)} | |||
|
|||
\rSec3[except.spec]{Exception specifications}% |
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.
I'm a bit uneasy putting this under "meaning of declarators", which focuses on the recursive decomposition.
Right after "function definitions" (two levels up) feels better to me. We talk an awful lot about a "function declaration having a non-throwing exception declaration" in the text, and a declarator isn't a complete declaration, so this feels like the wrong spot.
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.
How about after [dcl.fct.spec] instead?
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.
This is the section about decl-specifier. A noexcept-specifier isn't a decl-specifier. It's more like an attribute, considering its trailing placement.
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.
After carefully hunting through [decl], I think the best place for this right now is immediately following [dcl.fct] that has the grammar for the optional noexcept-specifier on a function (type) declaration.
I will get this branch into a non-conflicting state, and suggest we discuss further in Wrocław.
Is this PR still viable for C++26, moving a subclause (verbatim) from clause 14, exceptions, to clause 9, delcarations? If not, please give it the C++29 milestone. |
I'm not sure why this change should be tied to any particular publication schedule? We should discuss it on the merits, and then either proceed or drop it. I'm missing a bit of a motivation and justification here, beyond the Core feedback that Jens has already started giving. Could you update the opening post with some justification? |
886de55
to
aeece2c
Compare
aeece2c
to
3570220
Compare
Instead of piecewise moving meat from [except], I think the logical next step is to actually dissolve [except] and distribute its contents to where it belongs. Which is a clause re-org, for C++29. |
If you think that it's realistic to fully dissolve the clause, then do feel free to start a new issue with C++29 milestone! |
Issue opened, tentatively aiming for C++29. See #7317. |
Now that we have a new issue tracking the C++29 work, I have created a new branch with the full rework and dissolve: #7320. Further reviews and progress will happen on that PR. |
No description provided.