|
|
|
|
|
by chatmasta
848 days ago
|
|
The distinction matters because any existing code that breaks with the compiler fix was either relying on "undefined behavior" (in the case of a compiler bug incorrectly implementing the spec), so you can blame the user, or it was relying on "defined behavior" (in the case of a compiler bug correctly implementing a badly designed spec), so you can't blame the user. I suppose the end result is the same, but it might impact any justification around whether the fix should be a minor security patch or a major version bump and breaking update. |
|
In the case of user code that isn't unsound but breaks with the changes to the compiler/language, that would be breaking backwards compatibility, in which case there might be a need to relegate the change to a new edition.