You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- If writing a type intended to be used as an exception type, ensure its copy constructor is not `noexcept`. In general we cannot mechanically enforce this, because we do not know whether a type is intended to be used as an exception type.
16137
-
- Try not to `throw` a type whose copy constructor is not `noexcept`. In general we cannot mechanically enforce this, because even `throw std::string(...)` could throw but does not in practice.
16132
+
* Deallocation functions, including `operator delete`, must be `noexcept`.
16133
+
* `swap` functions must be `noexcept`.
16134
+
* Most destructors are implicitly `noexcept` by default.
* If writing a type intended to be used as an exception type, ensure its copy constructor is not `noexcept`. In general we cannot mechanically enforce this, because we do not know whether a type is intended to be used as an exception type.
16137
+
* Try not to `throw` a type whose copy constructor is not `noexcept`. In general we cannot mechanically enforce this, because even `throw std::string(...)` could throw but does not in practice.
16138
16138
16139
16139
##### Enforcement
16140
16140
16141
-
- Catch destructors, deallocation operations, and `swap`s that `throw`.
16142
-
- Catch such operations that are not `noexcept`.
16141
+
* Catch destructors, deallocation operations, and `swap`s that `throw`.
0 commit comments