From e7f04ae5570fffe59925e20e9ffe6b38125cd5e5 Mon Sep 17 00:00:00 2001 From: Aaron Tinio Date: Thu, 12 Mar 2026 14:21:33 +0800 Subject: [PATCH] fix: deduplicate fields to prevent Elixir 1.20 redundant clause warnings Co-Authored-By: Claude Opus 4.6 --- lib/flop/adapter/ecto.ex | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/flop/adapter/ecto.ex b/lib/flop/adapter/ecto.ex index 1a76eff..38b646c 100644 --- a/lib/flop/adapter/ecto.ex +++ b/lib/flop/adapter/ecto.ex @@ -137,11 +137,14 @@ defmodule Flop.Adapter.Ecto do @impl Flop.Adapter def fields(struct, opts) do - alias_fields(opts) ++ - compound_fields(opts) ++ - custom_fields(opts) ++ - join_fields(opts) ++ - schema_fields(struct) + Enum.uniq_by( + alias_fields(opts) ++ + compound_fields(opts) ++ + custom_fields(opts) ++ + join_fields(opts) ++ + schema_fields(struct), + fn {name, _} -> name end + ) end defp alias_fields(%{alias_fields: alias_fields}) do