diff --git a/lib/elixir/lib/module/behaviour.ex b/lib/elixir/lib/module/behaviour.ex index 42e76baf22a..22a42550c1b 100644 --- a/lib/elixir/lib/module/behaviour.ex +++ b/lib/elixir/lib/module/behaviour.ex @@ -228,11 +228,7 @@ defmodule Module.Behaviour do defp behaviour_defined?(callbacks, behaviour) do callbacks |> Map.values() - |> List.flatten() - |> Enum.any?(fn - {_kind, ^behaviour, _optional?} -> true - {_kind, _behaviour, _optional?} -> false - end) + |> Enum.any?(fn list -> :lists.keymember(behaviour, 2, list) end) end defp warn_missing_impls(%{callbacks: callbacks} = context, _impl_contexts, _defs)