Size: a a a

2020 July 24

Е

Евгений in pro.elixir
Так да, ругается.
источник

Е

Евгений in pro.elixir
Но это как-то некошерно. Мой внутренний голос говорит, что это как-то неправильно
источник

Е

Евгений in pro.elixir
В доках тоже появятся две функции с одинаковой арностью?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Евгений
Люди, что-то у меня не срастаются кложи функций с диалайзером.
Он по идее должен указать на ошибку во втором варианте:
defmodule Foo do
 @spec inc(a :: integer() | nil) :: integer() | nil
 def inc(nil), do: nil
 def inc(a), do: {a + 1, a + 2}
end

Но он пишет, что все ок. Но если я удалю первый вариант и оставлю только второй, то диалайзер таки ругается.
ЧЯДНТ?
Это баг диалайзера
источник

ŹR

Źmićer Rubinštejn in pro.elixir
К эликсиру не имеет отношения
источник

Е

Евгений in pro.elixir
Źmićer Rubinštejn
Это баг диалайзера
Известный?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Понятия не имею
источник

Е

Евгений in pro.elixir
Źmićer Rubinštejn
К эликсиру не имеет отношения
Ну я как бы о диалайзере и говорю. Самому эликсиру же пофиг на спеки, нет?
источник

АТ

Алексей Терехов... in pro.elixir
Пофиг
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я просто в эрланге проверил - там не ругается
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А в эрланге две спеки нельзя напилить точно
источник

Е

Евгений in pro.elixir
Ха, похоже это не бага
источник

Е

Евгений in pro.elixir
Диалайзер не проверяет кложи, которые реально не вызываются из кода.
источник

Е

Евгений in pro.elixir
Если добавить вызов сразу начинает:
defmodule Foo do
 @spec foo(a :: integer()) :: integer()
 def foo(a), do: inc(a)

 @spec inc(a :: integer() | nil) :: integer() | nil
 def inc(nil), do: nil
 def inc(a), do: {a + 1, a + 2}
end
источник

Е

Евгений in pro.elixir
вот так выдает ошибку
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Может быть, но это все равно баг
источник

VK

Vyacheslav Konovalov in pro.elixir
если админка, api и база данных в одном приложении, а в другом первое как зависимость подключается + свой деплой и конфиг бд, это норм?
задача в том чтобы разбить проект на две части (основную и специфичную для отдельного заказчика) чтобы правки можно было вносить разным командам максимально независимо
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Если я пишу либу с API, то я не узнаю про неправильные спеки - а только тот кто ей пользуется?
источник

Е

Евгений in pro.elixir
Źmićer Rubinštejn
Может быть, но это все равно баг
Впрочем, ты похоже прав, он выдает ошибку, но не в функции inc, а в foo
источник

Е

Евгений in pro.elixir
Źmićer Rubinštejn
Если я пишу либу с API, то я не узнаю про неправильные спеки - а только тот кто ей пользуется?
И это тоже верно.
источник