にゃははー

はへらー

C++11の例外周りでまだ分かってないこと

C.2.5/12.4(destructors)

ここで

User-declared destructors have an implicit exception specification.

となっているが、12.4を眺めてみてもこれを言及している文が見当たらない気がする。
12.4/3でexception-specificationが暗黙的に付与される的なことは書いてあるけど、User-declared dtorに限っていない。
そしてそのexception-specificationってどれ...

throw_with_nested(T &&t) のTについて

RequiresにはUがCopyConstructibleである必要しか要求していない。 where using U = remove_reference::type
そして問題のThrowsではUがnon-union class typeであるときのことしか言及していない。
non-class typeとかunion class typeが渡されたときはどうなるのか。