   end
 
   # Normalize the compiler result to a diagnostic tuple.
+  # TODO: Deprecate :ok and :noop on v1.9
   @doc false
   def normalize(result, name) do
     case result do

  produces errors, warnings, or any other diagnostic information,
  it should return a tuple with the status and a list of diagnostics.
  """
  @callback run([binary]) ::
              :ok
              | :noop
              | {:ok | :noop | :error, [Diagnostic.t()]}

  @doc """
  Lists manifest files for the compiler.

      _ ->
        Mix.shell().error(
          "[warning] Mix compiler #{inspect(name)} was supposed to return " <>
            "{:ok | :noop | :error, [diagnostic]} but it returned #{inspect(result)}"
        )

        {:noop, []}
