# `Dialyxir.Warnings.ContractWithOpaque`
[🔗](https://github.com/jeremyjh/dialyxir/blob/1.4.8/lib/dialyxir/warnings/contract_with_opaque.ex#L1)

The @spec says the function is returning an opaque type, but it is
returning a different type.

## Example

    defmodule Types do
      @opaque type :: :ok
    end

    defmodule Example do
      @spec ok() :: Types.type()
      def ok() do
        :ok
      end
    end

---

*Consult [api-reference.md](api-reference.md) for complete listing*
