From edac56d48690b7ad3f9f4e4a009a5716a02c4839 Mon Sep 17 00:00:00 2001 From: preciz Date: Mon, 15 Jun 2026 07:54:32 +0200 Subject: [PATCH] Optimize behaviour_defined? --- lib/elixir/lib/module/behaviour.ex | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) 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)