Warning about missing pattern match, despite pattern matching

I’ve tried these 2 variations. Both trigger the warning

  defp put_random_filename(%{"image" => image} = params) do
    %Plug.Upload{filename: name} = image
    image = %Plug.Upload{image | filename: random_filename(name)}
    %{params | "image" => image}
  end

  defp put_random_filename(%{"image" => image} = params) do
    %Plug.Upload{} = image
    image = %Plug.Upload{image | filename: random_filename(image.filename)}
    %{params | "image" => image}
  end
2 Likes