Dialyxir.Warnings.CallWithoutOpaque (Dialyxir v1.4.2) View Source

Function call without opaqueness type mismatch.

Example

defmodule OpaqueStruct do
  defstruct [:opaque]

  @opaque t :: %OpaqueStruct{}
end

defmodule Example do
  @spec error(OpaqueStruct.t()) :: :error
  def error(struct = %OpaqueStruct{}) do
    do_error(struct)
  end

  @spec do_error(OpaqueStruct.t()) :: :error
  defp do_error(_) do
    :error
  end
end