On Tue, Mar 26, 2013 at 4:04 AM, Ismail Pazarbasi <span dir="ltr"><<a href="mailto:ismail.pazarbasi@gmail.com" target="_blank">ismail.pazarbasi@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Tue, Mar 26, 2013 at 1:03 AM, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:<br>
> On Mon, Mar 25, 2013 at 4:21 PM, Ismail Pazarbasi<br>
> <<a href="mailto:ismail.pazarbasi@gmail.com">ismail.pazarbasi@gmail.com</a>> wrote:<br>
>><br>
>><br>
>> I have read the resolution for the issue 1351, and I was curious about<br>
>> aligning this with the removal of dynamic exception specifications as well.<br>
><br>
><br>
> I've started working on implementing core issue 1351. We discussed this<br>
> issue in a CWG teleconference today, and there are some tweaks to the<br>
> wording coming...<br>
><br>
>> Could you please confirm whether I understood this part correctly; given<br>
>> the example in issue 1351, in the move constructor declaration, "noexcept"<br>
>> is represented with an empty set:<br>
>> `B(B&&, int = (throw Y(), 0)) throw(Y) noexcept;`<br>
><br>
><br>
> This is ill-formed. A function declaration can only have one<br>
> exception-specification.<br>
</div>Reading the issue 1351 didn't give a hint to me either, and I was<br>
confused. That's why I have asked whether I *imagined it* correct :)<br>
<div class="im"><br>
><br>
>><br>
>> The union of set of potential exceptions is: {Y} U {Y} U {} = {Y};<br>
>> Likewise, if it was:<br>
>> `B(B&&, int = (throw Y(), 0)) throw(Z) noexcept;`<br>
>> The union of set of potential exceptions: {Y} U {Z} U {} = {Y, Z}<br>
>><br>
>> Could you please explain the purpose of having throw(E) and noexcept on<br>
>> the same declarator? I understand throw(E) and noexcept(false) would be<br>
>> compatible.<br>
><br>
><br>
> throw(E) and noexcept(false) are not compatible exception-specifications;<br>
> see 15.4/3.<br>
</div>I have read entire except.spec yesterday. I was drifted to the "set"<br>
too much, and thinking of exception specification as merely a set,<br>
completely ignoring the meaning of noexcept. Sorry for the noise!<br>
<br>
Since you are doing the whole implementation shall we drop this review then?<br></blockquote><div> </div><div>I think that makes sense. </div></div><br>