Comment by ajkjk

4 years ago

Obligatory: it is flabbergasting that this is a quality of language that is still in active use.

It's even more flabbergasting that all these problems haven't been fixed.

  • That would likely break backward compatibility of existing implementation-defined behavior.

    • Converting sscanf from undefined to implementation defined behavior would, by definition, not break implementation defined behaviors.

      There are real cases where removing undefined behavior blocks optimizations, but this doesn't feel like one.

      1 reply →

Most of these things can't be fixed at the language level without seriously breakages or preventing users from doing necessarily dangerous things.