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.

Reply via email to