LL
Size: a a a
LL
М
VS
when is_integer
на вторую ветку,P
foo
?AI
AI
Е
Е
Е
Е
foo
, типа у вас тут ключ должен быть в мапе, а по факту его нет, гнал полную фигню насчет гарантированного nil
Е
Е
Е
@spec foo(integer() | nil) :: %{a: integer(), b: integer()} | nil
def foo(nil), do: nil
def foo(a), do: %{a: a}
def bar(a) do
case foo(a) do
nil -> :error
_ -> :ok
end
end
Е
foo
не совпадает с реальным результатомЕ
The pattern
:variable_
can never match, because previous clauses completely cover the type
nil.
Е
VS
AI
AI
Е
%{b: type}
эквивалентен %{required(:b) => type}