On Friday, May 26, 2017 at 7:11:50 PM UTC+5:30, Chris Angelico wrote:
> On Fri, May 26, 2017 at 10:52 PM, Rustom Mody  wrote:
> >> Can you explain to me how it's different? Either way, the
> >> implementation is allowed to do what it likes, because you shouldn't
> >> be doing that.
> >
> > I am guessing that Steven is mixing up undefined and unspecified behavior
> >
> > Undefined : Implementation can do whatever it likes; erroring out or not
> > Unspecified :
> > | use of an unspecified value, or other behavior where this International 
> > Standard
> > | provides two or more possibilities and imposes no further requirements on 
> > which
> > | is chosen in any instance
> 
> Which of these terms applies to each situation?

Not sure which 'each situation' is referring to
As far as mutating string constants, my impression is that this is 
undefined behavior

So 
- Compiler/runtime giving an error
- No error and silently changing
- No error no change
- Decide which of above by phase of the moon

All these are valid behavior (for a compliant compiler)

Strictly speaking invoking undefined behavior allows the implementation to "rm 
/" or whatever
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to