aboutsummaryrefslogblamecommitdiffstats
path: root/lib/dialyzer/test/indent_SUITE_data/src/queue_use.erl
blob: 8d46bdb9892f0e49b9af5e4277cf91b4e1eb96fb (plain) (tree)
































































                                                                                          
-module(queue_use).

-export([ok1/0, ok2/0]).
-export([wrong1/0, wrong2/0, wrong3/0, wrong4/0, wrong5/0, wrong6/0, wrong7/0, wrong8/0]).

ok1() ->
    queue:is_empty(queue:new()).

ok2() ->
    Q0 = queue:new(),
    Q1 = queue:in(42, Q0),
    {{value, 42}, Q2} = queue:out(Q1),
    queue:is_empty(Q2).

%%--------------------------------------------------

wrong1() ->
    queue:is_empty({[],[]}).

wrong2() ->
    Q0 = {[],[]},
    queue:in(42, Q0).

wrong3() ->
    Q0 = queue:new(),
    Q1 = queue:in(42, Q0),
    {[42],Q2} = Q1,
    Q2.

wrong4() ->
    Q0 = queue:new(),
    Q1 = queue:in(42, Q0),
    Q1 =:= {[42],[]}.

wrong5() ->
    {F, _R} = queue:new(),
    F.

wrong6() ->
    {{value, 42}, Q2} = queue:out({[42],[]}),
    Q2.

%%--------------------------------------------------

-record(db, {p, q}).

wrong7() ->
    add_unique(42, #db{p = [], q = queue:new()}).

add_unique(E, DB) ->
    case is_in_queue(E, DB) of
	true -> DB;
	false -> DB#db{q = queue:in(E, DB#db.q)}
    end.

is_in_queue(P, #db{q = {L1,L2}}) ->
    lists:member(P, L1) orelse lists:member(P, L2).

%%--------------------------------------------------

wrong8() ->
    tuple_queue({42, gazonk}).

tuple_queue({F, Q}) ->
    queue:in(F, Q).