1%%-----------------------------------------------------------------------
2%% A test where the contract is wrongly specified by the programmer;
3%% however, this is found only by refinement.
4%% Dialyzer in R14B01 and prior gave a confusing (if not bogus) warning
5%% for this case.  Corrected in R14B02.
6%%-----------------------------------------------------------------------
7-module(blame_contract_range).
8
9-export([foo/0]).
10
11foo() ->
12  bar(b).
13
14-spec bar(atom()) -> a.
15bar(a) -> a;
16bar(b) -> b.
17