Hi,

Developers can easily shoot themselves in the foot if they write:

    assert %{} = x

but really what they meant was to write:

    assert %{} == x

The mistake is writing `=` instead of `==`, an easy one to make. The 
difference is of course that the former will succeed on _any_ map and the 
latter will _only_ succeed on an _empty_ map.

I'd like to propose ExUnit warn on `assert %{} = x` and tell users to 
instead write `assert is_map(x)`.

Thoughts?

P.S. In my projects I'd either write `assert actual == expected` OR `assert 
expected = actual` and never `assert expected == actual` exactly because it 
is easy to make the mistake. Maybe there is a Credo check to enforce such 
style.

-- 
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 elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/29be2a17-2d2a-41b1-ac82-9aa07f44ba17n%40googlegroups.com.

Reply via email to