aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/test/opaque_SUITE_data/src/para/myqueue.erl
blob: 0f76680464cebb4db2aeae0e83a8dca473a04335 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-module(myqueue).

-export([new/0, in/2]).

-record(myqueue, {queue = queue:new() :: queue:queue({integer(), _})}).

-opaque myqueue(Item) :: #myqueue{queue :: queue:queue({integer(), Item})}.

-export_type([myqueue/1]).

-spec new() -> myqueue(_).
new() ->
    #myqueue{queue=queue:new()}.

-spec in(Item, myqueue(Item)) -> myqueue(Item).
in(Item, #myqueue{queue=Q}) ->
    #myqueue{queue=queue:in({1, Item}, Q)}.