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

[special] multiple concepts conflated in same paragraph #379

Closed
zygoloid opened this issue Aug 27, 2014 · 1 comment
Closed

[special] multiple concepts conflated in same paragraph #379

zygoloid opened this issue Aug 27, 2014 · 1 comment

Comments

@zygoloid
Copy link
Member

From Gaby:

Paragraph 12.4/5 defines two unrelated concepts:

  1. a defaulted destructor that is defined as deleted;
  2. the notion of trivial destructors

They should have their own paragraphs.

The same applies in other places in clause 12: see, for instance, 12.1/4, which specifies

  1. what a defaulted constructor is
  2. when a default constructor is implicitly declared and how it behaves
  3. when a defaulted default constructor is deleted
  4. when a defaulted default constructor is trivial

I think at least (3) and (4) should be in their own paragraphs. I have no particular opinion about whether (1) and (2) should be split up, but my inclination is to keep them together since the fact that you implicitly get a default constructor in some cases is fairly fundamental to the notion of a default constructor.

12.8 paragraphs 7-12 are a bit better (the 'deleted' and 'trivial' determination are already in their own paragraphs), but paragraph 11 is a bit confused: its opening sentence is about implicitly-declared constructors ("...is an inline public member..."), but the rest of the paragraph is about implicitly deleting defaulted constructors, which happens for non-implicitly-declared constructors too. The opening sentence of paragraph 11 would fit much better in, say, paragraph 7.

@jensmaurer
Copy link
Member

jensmaurer commented Nov 13, 2016

12.4p5 is fixed already.
I've split up (3) and (4) in 12.1p4.
The first sentence of 12.8p11 is not moved earlier, because the concept of an implicitly-declared move constructor is introduced as late as p9. p11 is the first place where we talk about both copy and move constructors. We could have a separate paragraph for the first sentence of p11, but that gets us a questionable paragraph with a single sentence. In short, no changes to 12.8p11.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants