API Reference Dialyxir v1.4.3

Modules

A counters holding warnings to be skipped.

Elixir-friendly dialyzer formatter.

Behaviour for defining warning semantics.

The function being invoked exists, and has the correct arity, but will not succeed.

The function call will not succeed.

Function calls a missing or private function. This may be caused by a typo or incorrect arity. This is also a compiler warning.

Function call without opaqueness type mismatch.

Type of argument does not match the callback's expected type.

The module is using a behaviour that does not exist or is not a behaviour. This is also a compiler warning.

Module implements a behaviour, but does not have all of its callbacks. This is also a compiler warning.

Module implements a behaviour, but does not export some of its callbacks.

Spec type of argument does not match the callback's expected type.

The return type in the @spec does not match the expected return type of the behaviour.

The success type of the function does not match the callback type in the behaviour.

The type in the @spec does not completely cover the types returned by function.

The @spec, while not incorrect, is more general than the type returned by the function.

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

The expression can never evaluate to true.

The @spec says the function returns more types than the function actually returns.

The function being invoked exists, but has an arity mismatch.

The function guard either presents an impossible guard or the only calls will never succeed against the guards.

The clause guard describes a condition of literals that fails the pattern given in the function head.

The @spec for the function does not match the success typing of the function.

Elixir can only use the map update syntax to update a key that is in the map.

Function spec declares a list of types, but function returns value outside stated range.

The function guard either presents an impossible guard or the only calls will never succeed against the guards.

The function has no return. This is usually due to an issue later on in the call stack causing it to not be recognized as returning for some reason. It is often helpful to cross reference the complete list of warnings with the call stack in the function and fix the deepest part of the call stack, which will usually fix many of the other no_return errors.

Attempted to pattern match against the internal structure of an opaque term.

The function has an additional @spec that is already covered more generally by a higher @spec.

The pattern matching is never given a value that satisfies all of its clauses.

The pattern match has a later clause that will never be executed, because a more general clause is higher in the matching order.

Spec references a missing @type.

The invoked expression returns a union of types and the call does not match on its return types using e.g. a case or wildcard.

Due to issues higher in the function or call stack, while the function is recognized as used by the compiler, it will never be recognized as having been called until the other error is resolved.

Mix Tasks

This task compiles the mix project, creates a PLT with dependencies if needed and runs dialyzer. Much of its behavior can be managed in configuration as described below.

This task compiles the mix project and creates a PLT with dependencies if needed. It is equivalent to running mix dialyzer --plt

This task deletes PLT files and hash files.

This task provides background information about Dialyzer warnings. If invoked without any arguments it will list all warning atoms. When invoked with the name of a particular warning, it will display information regarding it.