tmp/tmpp2yyismf/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### [[class]]: classes <a id="diff.cpp03.class">[[diff.cpp03.class]]</a>
|
| 2 |
+
|
| 3 |
+
**Change:** Implicitly-declared special member functions are defined as
|
| 4 |
+
deleted when the implicit definition would have been ill-formed.
|
| 5 |
+
**Rationale:** Improves template argument deduction failure. **Effect on
|
| 6 |
+
original feature:** A valid C++03 program that uses one of these special
|
| 7 |
+
member functions in a context where the definition is not required
|
| 8 |
+
(e.g., in an expression that is not potentially evaluated) becomes
|
| 9 |
+
ill-formed.
|
| 10 |
+
|
| 11 |
+
**Change:** User-declared destructors have an implicit exception
|
| 12 |
+
specification. **Rationale:** Clarification of destructor requirements.
|
| 13 |
+
**Effect on original feature:** Valid C++03 code may execute differently
|
| 14 |
+
in this International Standard. In particular, destructors that throw
|
| 15 |
+
exceptions will call `std::terminate` (without calling
|
| 16 |
+
`std::unexpected`) if their exception specification is non-throwing.
|
| 17 |
+
|