← Back to context

Comment by mjs01

8 hours ago

Integer promotion seems to be the source of many signed integer overflow UB. Why does C have it? Does integer promotion ever have a good part?

Yes, it simplifies a lot of code that would otherwise be littered with casts.

  • Could be fixed by having a nicer casting syntax (like Rust) or by not having so damn many scalar types that are used in practice.

    "Explicit casts only" worked fine in Modula-2, which doesn't have as many scalar types.