From 48185b5f854f38ca7abf0abbf6115e905d026fdb Mon Sep 17 00:00:00 2001 From: Mafinar K Date: Wed, 26 Jun 2024 02:42:13 -0400 Subject: [PATCH] Remove warnings during compilation --- lib/2020/day_16.ex | 2 +- lib/2023/day_19.ex | 10 +++++----- lib/2023/day_22.ex | 12 ++++++------ mix.exs | 3 ++- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/lib/2020/day_16.ex b/lib/2020/day_16.ex index be4b910..d33e09a 100644 --- a/lib/2020/day_16.ex +++ b/lib/2020/day_16.ex @@ -54,7 +54,7 @@ defmodule AdventOfCode.Y2020.Day16 do |> Enum.map(&String.to_integer/1) end - def merge_ranges(a..b = r1, x..y = r2), + def merge_ranges(a..b//_ = r1, x..y//_ = r2), do: (Range.disjoint?(r1, r2) && [r1, r2]) || [((a < x && a) || x)..((b > y && b) || y)] diff --git a/lib/2023/day_19.ex b/lib/2023/day_19.ex index 7c7fcb2..27d5c68 100644 --- a/lib/2023/day_19.ex +++ b/lib/2023/day_19.ex @@ -74,11 +74,11 @@ defmodule AdventOfCode.Y2023.Day19 do end) end - defp range_reducer({c, :lt, v}, acc), do: Map.update!(acc, c, fn l.._ -> l..(v - 1) end) - defp range_reducer({c, :gt, v}, acc), do: Map.update!(acc, c, fn _..u -> (v + 1)..u end) - defp range_reducer({c, :lte, v}, acc), do: Map.update!(acc, c, fn l.._ -> l..v end) - defp range_reducer({c, :gte, v}, acc), do: Map.update!(acc, c, fn _..u -> v..u end) - defp range_combination({_, l..u}, acc), do: acc * (u - l + 1) + defp range_reducer({c, :lt, v}, acc), do: Map.update!(acc, c, fn l.._//_ -> l..(v - 1)//1 end) + defp range_reducer({c, :gt, v}, acc), do: Map.update!(acc, c, fn _..u//_ -> (v + 1)..u//1 end) + defp range_reducer({c, :lte, v}, acc), do: Map.update!(acc, c, fn l.._//_ -> l..v//1 end) + defp range_reducer({c, :gte, v}, acc), do: Map.update!(acc, c, fn _..u//_ -> v..u//1 end) + defp range_combination({_, l..u//_}, acc), do: acc * (u - l + 1) defp parse_workflow(workflow) do [_, name, instructions] = Regex.run(~r/(\w+)\{(.+)\}/, workflow) diff --git a/lib/2023/day_22.ex b/lib/2023/day_22.ex index 534453f..145ed5a 100644 --- a/lib/2023/day_22.ex +++ b/lib/2023/day_22.ex @@ -36,22 +36,22 @@ defmodule AdventOfCode.Y2023.Day22 do defp drop(bricks), do: bricks - |> Enum.sort_by(fn {_, _, _, z1.._} -> z1 end) + |> Enum.sort_by(fn {_, _, _, z1.._//_} -> z1 end) |> drop([]) defp drop([], settled), do: settled - defp drop([{_, _, _, 1.._} = brick | bricks], settled), + defp drop([{_, _, _, 1.._//_} = brick | bricks], settled), do: drop(bricks, [brick | settled]) defp drop([{id, ax, ay, az} | bricks], settled) do - {_, _, _, _..bz2} = + {_, _, _, _..bz2//_} = Enum.filter(settled, fn {_, bx, by, _} -> not (Range.disjoint?(ax, bx) or Range.disjoint?(ay, by)) end) |> Enum.max_by( - fn {_, _, _, _..bz2} -> bz2 end, + fn {_, _, _, _..bz2//_} -> bz2 end, fn -> {nil, nil, nil, 0..0} end ) @@ -65,9 +65,9 @@ defmodule AdventOfCode.Y2023.Day22 do defp support(bricks), do: support(bricks, bricks, %{}) defp support([], _, supports), do: supports - defp support([{_, ax, ay, az1.._} = current | rest], bricks, supports) do + defp support([{_, ax, ay, az1.._//_} = current | rest], bricks, supports) do others = - Enum.filter(bricks, fn {_, bx, by, _..bz2} -> + Enum.filter(bricks, fn {_, bx, by, _..bz2//_} -> bz2 == az1 - 1 and not (Range.disjoint?(ax, bx) or Range.disjoint?(ay, by)) diff --git a/mix.exs b/mix.exs index 6f12481..33566d7 100644 --- a/mix.exs +++ b/mix.exs @@ -8,7 +8,8 @@ defmodule AdventOfCode.MixProject do elixir: "~> 1.17", start_permanent: Mix.env() == :prod, aliases: aliases(), - deps: deps() + deps: deps(), + elixirc_options: [warnings_as_errors: true] ] end