[erlang-questions] 12B4 dialyzer problem 2

Kostis Sagonas <>
Thu Sep 11 13:03:15 CEST 2008

Anthony Shipman wrote:
> Does this mean that the 'undefined|...' is overlooked by dialyzer when type 
> matching?

Nope.  As I wrote in my previous mail, it has nothing to do with 
'undefined'.  This value has no special treatment by Dialyzer; it's just 
an atom.

It just means than in a message like:

stream_reman.erl:576: The call streamIface:specialToDevice('undefined' |
pid(),'undefined' | integer(),'streamClose')
  breaks the contract (serverRef(),integer(),specialCtrl()) -> 'ok'

the problem cannot possibly be in the second argument because the type 
of this argument in the call, namely integer(), is compatible (i.e. a 
subtype) of the corresponding argument in the success typing 
('undefined' | integer()).


More information about the erlang-questions mailing list