Conversation
That's fine, but this is still a big breaking change. I don't think it is that rare to see I also don't particularly like that |
|
I agree with Aurel, we should keep backward compatibility here.
I think we'll have to lift those restrictions, because that could happen because of inlining. |
I don't see a better alternative, feel free to propose one :) |
|
Regarding backward compatibility, I think it's fine to keep things as they are for the time being, because, as mentioned, I don't think |
|
As user, I would prefer that if Void is used as parameter, you could just do: class Signal<T> {
function trigger(payload:T);
}
var signal = new Signal<Void>();
signal.trigger();Maybe in such cases, it should internally convert |
|
I'm not a fan of this, because it makes it hard to reason about function arity and I would prefer passing BTW this is what TypeScript does with the We can do this later though, if we want (maybe for that backward compat thing). |
|
We have decided to keep this proposal open for now in our haxe-evolution meeting yesterday. |
|
We have rejected the proposal in the haxe-evolution meeting today. While we agree that a unit type is needed, there are concerns about mixing this with |
|
This was rejected in lieu of #95. |
Promote
Voidto a real unit type, so this is possible:Rendered version