-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
Remove ambiguity in nullary remote calls with unknown targets #9510
Comments
What about typespecs of arity |
@eksperimental we probably won't touch typespecs for two reasons:
|
Is this open for contribution? Because I would love to work on that :) |
Hi @esse, not yet. Note it is tagged for v1.11 and we are still working on v1.10. |
Folks, I will go ahead and revert the changes to the pipe operator. I have been running them for the last 40 days and I have to be honest that every time I saw the warning a part of me died a bit. :) There is nothing ambiguous on Therefore, we will only apply these rules where ambiguity exists: EDIT: I have updated the original description to track only the changes we will effectively do. |
On v1.11 we will add this as a compile-time warning whenever we can infer it. So I will postpone this to v1.12 or maybe even v1.13. |
Hey. Just wanted to loop back on this issues since it's been up since 2019 and was last slated to be addressed in v1.13. We're at v1.15.5 now and no warning is emitted for code like this: fun = fn -> IO.puts "Hey there" end
[%{ack_fn: fun}] |> Stream.each(& &1.ack_fn()) |> ... |> Enum.to_list() That's a simplified version of what we had in our product's codebase until recently. Because of the missing |
PRs are welcome! :) |
I would like to take a look at this, but I think I'm not familiar enough with the context? Would it be possible to add a bit more of context on some code samples we should warn and others that where we shouldn't? For example, for the case above it's not clear to me what would be the criteria for warning, as the type should be unknown and |
I'm thinking it could be a warning saying something to the tune of "Unable to determine the type of &1. If it is a module, use |
Sorry, I dropped the ball on these comments, but the deprecation is now on main. |
map.foo()
in favor ofmap.foo
mod.foo
in favor ofmod.foo()
A.b
,a.b
, etc) without parens hasnil
third element. Once we do so, remove :no_parens metadata usage throughout the codebase (perhaps behind the--future
flag)PS: originally this issue was about deprecating all nullary remote calls without parens, but it has been restricted since then. See this comment for more info.
The text was updated successfully, but these errors were encountered: