[erlang-bugs] dialyzer does not like queue:out

Paul Guyot <>
Sat Jul 16 19:48:27 CEST 2011

Le 16 juil. 2011 à 19:15, Kostis Sagonas a écrit :

> Paul Guyot wrote:
>> Hello,
>> Dialyzer seems to consider that the second element of the output of queue:out/1 is not a queue.
>> The following code reproduces the error:
>> ...
>> Dialyzer will say:
>> dialyzer_queue.erl:11: The pattern {'ok', _Value, _NewRec} can never match the type {'none',#rec{q::queue()}}
>> The error disappears if g returns {ok, Elem, Rec} instead of {ok, Elem, #rec{q = NewQueue}}, or if rec.q is typed as any().
> This is a known problem.
> Can you please try the 'dev' version because I think it is fixed there.

Kostis, thank you for your quick reply. I forgot to mention I just did pull dev and am running dialyzer v2.4.3.

Semiocast            http://semiocast.com/
+33.183627948 - 20 rue Lacaze, 75014 Paris

More information about the erlang-bugs mailing list