I’ve been loving 1.4 for a few weeks now, but I am bugged by the new
warning:
warning: variable "int" does not exist and is being expanded to "int()",
please use parentheses to
remove the ambiguity or change the variable name
Partly it is because it makes my code a lot uglier. For example, in quixir,
instead of
test "two plain types" do
ptest a: int, b: list do
assert is_integer(a)
assert is_list(b)
end
end
I now have to write:
test "two plain types" do
ptest a: int(), b: list() do
. . .
Ugh. Even worse, the premise of the warning seems wrong. It assumes int is
a variable, which doesn’t exist. But it *does* know that int is a function,
because if I misspell it and put ()s on, I get a compilation error. So why
can’t it just do that: is a bare name is encountered that isn’t a variable,
just internally tack on the ()s are see what happens. Which I think is the
old way.
Basically, what compelling problem drove this change? It isn’t an issue I
ever had before, and the change seems to make my code worse.
Dave
--
You received this message because you are subscribed to the Google Groups
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/elixir-lang-core/22ad983c-0917-4425-abbe-a6e954ae3b61%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.