-
Notifications
You must be signed in to change notification settings - Fork 58
Void as unit type #76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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