Merge pull request #275 from tkruse/fix-mdstyle16

fix minor style issues
This commit is contained in:
Gabriel Dos Reis
2015-10-05 03:56:20 -07:00

View File

@@ -11898,7 +11898,7 @@ For the purposes of this document, bounds-safety is defined to be the property t
The following are under consideration but not yet in the rules below, and may be better in other profiles: The following are under consideration but not yet in the rules below, and may be better in other profiles:
- * ???
An implementation of this profile shall recognize the following patterns in source code as non-conforming and issue a diagnostic. An implementation of this profile shall recognize the following patterns in source code as non-conforming and issue a diagnostic.
@@ -12954,8 +12954,7 @@ Here, if constructing `copy2` throws, we have the same problem because `i`'s des
void test() { void test() {
std::array<nefarious, 10> arr; // this line can std::terminate(!) std::array<nefarious, 10> arr; // this line can std::terminate(!)
}
}
The behavior of arrays is undefined in the presence of destructors that throw because there is no reasonable rollback behavior that could ever be devised. Just think: What code can the compiler generate for constructing an `arr` where, if the fourth object's constructor throws, the code has to give up and in its cleanup mode tries to call the destructors of the already-constructed objects... and one or more of those destructors throws? There is no satisfactory answer. The behavior of arrays is undefined in the presence of destructors that throw because there is no reasonable rollback behavior that could ever be devised. Just think: What code can the compiler generate for constructing an `arr` where, if the fourth object's constructor throws, the code has to give up and in its cleanup mode tries to call the destructors of the already-constructed objects... and one or more of those destructors throws? There is no satisfactory answer.