[erlang-questions] turning off opaque types underspecified warning

Eric Merritt <>
Sun Jun 23 19:06:46 CEST 2013


If you add an opaque type to a module that just points to a simple
term (or a tuple etc) as follows:

    -opaque hello() :: term().

You get the following warning:

    src/elixir.erl:15: Warning: opaque type hello() is underspecified
and therefore meaningless


>From the standpoint of Dialyzer this makes sense. However, types are
used as much to communication information to a programmer as they are
to communicate information to Dialyzer. So while the above is
meaningless to Dialyzer it could very well convey meaning and be
useful to the human reading the code.

So the big question is: is there anyway to disable this warning?

and the secondary question is: does it really make sense for this
warning to exist in the first place?


More information about the erlang-questions mailing list