lib/cmp/type_error.ex
defmodule Cmp.TypeError do
@moduledoc """
Error raised when trying to compare values of different types.
"""
defexception [:left, :right]
@impl true
def exception(left: left, right: right) do
%__MODULE__{left: left, right: right}
end
@impl true
def message(%__MODULE__{left: left, right: right}) do
"Failed to compare incompatible types - left: #{inspect(left)}, right: #{inspect(right)}"
end
end