is painful. I am thinking that Zig can have a result type spreading mechanism. Right now, if an expression is assigned to a variable, it gets the type based on RLS, which is essentially
The reason for the rejection is equally convincing: This change is breaking, and under the same expression, the semantics commonly used in the past and the semantics accepted for this modification will be completely opposite. Especially when the vast majority of languages adopt forward type derivation rather than backward derivation of result types.
However, I believe the more fundamental reason why previous related similar proposals were rejected lies in the lack of sufficient consistency. I absolutely cannot accept the adoption of result type derivations for only a few of these symbols, but if all mathematical symbols were to adopt result type derivations, I would readily accept it.
The semantics of them is that operations will result in a type with an increased/reduced range, depending on the operation. This removes trivial casting. The benefit of that is you can just write equations without caring for the size until the end.
Ofc wrapping and saturating operators will still exist, with the addition of asserting operators, which keep the current behaviour.