<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><br>
Well, yes: Undefined behaviour in the sense<br>
</div></blockquote>
</blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="">"And there will be no injection of undefined behaviour<br>
</div>
                                   ^~~~~~~~~~~~~~~~~~~<br>
                                   conventional sense<div class=""><br>
<br>
 - the undefined behaviour is already there if the asserted constraints<br></div>
       ^~~~~~~~~~~~~~~~~~~<br>
       altered sense<br>
<br>
are not valid."<br></blockquote><div><br></div><div><br></div><div>I still don't quite see your point.  Perhaps I should have said:  In the case where an asserted constraint is not met, the program is invalid.  Being invalid it has undefined behaviour if it continues.</div>
<div><br></div><div>From another:</div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-family:arial,sans-serif;font-size:13px">There is a difference between invalid and undefined: A program is invalid ("buggy"), if it doesn't do what it's programmer intended, while "undefined" is a matter of the language specification. The (wrong) behaviour of an invalid program need not be undefined, and often isn't in practice.</span><br>
</blockquote><div><br></div></div><div>I disagree with this characterization.  Something can be buggy, not doing what the programmer intended, while also a perfectly valid program.  You can make wrong logic that is valid/reasonable in the context of the program.</div>
<div><br></div><div>Invalid in this case means the programmer has explicitly stated certain constraints must hold, and such constraints do not hold.  So if you continue with the program in the face of invalid constraints, you have no guarantee what will happen - this is what I mean by 'undefined'.</div>
<div><br></div></div></div></div>