Skip to content

Commit 609f7cd

Browse files
committed
Check protocol functions only
1 parent 7a1a3ab commit 609f7cd

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

lib/elixir/lib/protocol.ex

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -665,10 +665,13 @@ defmodule Protocol do
665665
end
666666
end
667667

668+
fun_arities = :sets.from_list(protocol.__protocol__(:functions), version: 2)
669+
668670
new_signatures =
669-
for {{fun, arity}, :def, _, _} when arity > 0 <- definitions do
671+
for {{_fun, arity} = fun_arity, :def, _, _} <- definitions,
672+
:sets.is_element(fun_arity, fun_arities) do
670673
rest = List.duplicate(Descr.term(), arity - 1)
671-
{{fun, arity}, {:strong, nil, [{[domain | rest], Descr.dynamic()}]}}
674+
{fun_arity, {:strong, nil, [{[domain | rest], Descr.dynamic()}]}}
672675
end
673676

674677
[

0 commit comments

Comments
 (0)