Dialyxir v1.0.0 API Reference

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

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

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