From bc67d975760b8e2994db19f6e07abcfd9f1e199c Mon Sep 17 00:00:00 2001 From: Hissssst <37012324+hissssst@users.noreply.github.com> Date: Wed, 24 May 2023 17:27:43 +0000 Subject: [PATCH 1/2] Remove list guard in merge_* --- lib/plug/conn.ex | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/plug/conn.ex b/lib/plug/conn.ex index f410d0f3..a62f79c7 100644 --- a/lib/plug/conn.ex +++ b/lib/plug/conn.ex @@ -330,9 +330,9 @@ defmodule Plug.Conn do :world """ - @spec merge_assigns(t, Keyword.t()) :: t - def merge_assigns(%Conn{assigns: assigns} = conn, keyword) when is_list(keyword) do - %{conn | assigns: Enum.into(keyword, assigns)} + @spec merge_assigns(t, Enumerable.t({atom, term})) :: t + def merge_assigns(%Conn{assigns: assigns} = conn, new) do + %{conn | assigns: Enum.into(new, assigns)} end @doc false @@ -384,9 +384,9 @@ defmodule Plug.Conn do :world """ - @spec merge_private(t, Keyword.t()) :: t - def merge_private(%Conn{private: private} = conn, keyword) when is_list(keyword) do - %{conn | private: Enum.into(keyword, private)} + @spec merge_private(t, Enumerable.t({atom, term})) :: t + def merge_private(%Conn{private: private} = conn, new) do + %{conn | private: Enum.into(new, private)} end @doc """ From fa4030e201ea91f885e0595549bb13725d1c4816 Mon Sep 17 00:00:00 2001 From: Hissssst <37012324+hissssst@users.noreply.github.com> Date: Thu, 25 May 2023 09:42:15 +0000 Subject: [PATCH 2/2] Use Enumerable.t/0 instead of t/1 --- lib/plug/conn.ex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/plug/conn.ex b/lib/plug/conn.ex index a62f79c7..6e6464e5 100644 --- a/lib/plug/conn.ex +++ b/lib/plug/conn.ex @@ -330,7 +330,7 @@ defmodule Plug.Conn do :world """ - @spec merge_assigns(t, Enumerable.t({atom, term})) :: t + @spec merge_assigns(t, Enumerable.t()) :: t def merge_assigns(%Conn{assigns: assigns} = conn, new) do %{conn | assigns: Enum.into(new, assigns)} end @@ -384,7 +384,7 @@ defmodule Plug.Conn do :world """ - @spec merge_private(t, Enumerable.t({atom, term})) :: t + @spec merge_private(t, Enumerable.t()) :: t def merge_private(%Conn{private: private} = conn, new) do %{conn | private: Enum.into(new, private)} end