Description
From Gaby:
Paragraph 12.4/5 defines two unrelated concepts:
- a defaulted destructor that is defined as deleted;
- 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
- what a defaulted constructor is
- when a default constructor is implicitly declared and how it behaves
- when a defaulted default constructor is deleted
- 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.
Activity
jensmaurer commentedon 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.
[class.ctor] split into numbered paragraphs
[class.ctor] Split into numbered paragraphs (#1011)