-module(test).
-export([test/0]).
test() ->
[
{one_test, [a,b,c]},
{another_test, [d,e,f]}
].
-spec test() -> [{atom(), [atom()]}].
% src/test.erl
% Type specification test:test() -> [{atom(),[atom()]}] is a supertype of the success typing: test:test() -> [{'another_test',['d' | 'e' | 'f',...]} | {'one_test',['a' | 'b' | 'c',...]},...]
-spec test() -> [{atom(), [atom(), ...]}, ...].
%src/test.erl
% Type specification test:test() -> [{atom(),[atom(),...]},...] is a supertype of the success typing: test:test() -> [{'another_test',['d' | 'e' | 'f',...]} | {'one_test',['a' | 'b' | 'c',...]},...]
-spec test() -> proplists:proplist().% OK, no warnings.
-type property() :: atom() | tuple().
-type proplist() :: [property()].
-spec test() -> proplist().
%src/test.erl
% Type specification test:test() -> proplist() is a supertype of the success typing: test:test() -> [{'another_test',['d' | 'e' | 'f',...]} | {'one_test',['a' | 'b' | 'c',...]},...]
{erl_opts, [debug_info]}.
{deps, []}.
{dialyzer, [{warnings, [error_handling, underspecs, unknown, unmatched_returns]}]}.
-module(test).
-export([test/0]).
%% From <https://erlang.org/doc/man/proplists.html>
-type property() :: atom() | tuple().
-type proplist() :: [property()].
-spec test() -> proplist().
test() ->
[
{one_test, [a,b,c]},
{another_test, [d,e,f]}
].
===> Verifying dependencies...
===> Analyzing applications...
===> Compiling test
===> Dialyzer starting, this may take a while...
===> Updating plt...
===> Resolving files...
===> Checking 202 files in _build/default/rebar3_23.2.6_plt...
===> Doing success typing analysis...
===> Resolving files...
===> Analyzing 1 files with _build/default/rebar3_23.2.6_plt...
src/test.erl
Type specification test:test() -> proplist() is a supertype of the success typing: test:test() -> [{'another_test',['d' | 'e' | 'f',...]} | {'one_test',['a' | 'b' | 'c',...]},...]
===> Warnings written to _build/default/23.2.6.dialyzer_warnings
===> Warnings occurred running dialyzer: 1
-module(test).
-export([test/0]).
-spec test() -> proplists:proplist().
test() ->
[
{one_test, [a,b,c]},
{another_test, [d,e,f]}
].
===> Verifying dependencies...
===> Analyzing applications...
===> Compiling test
===> Dialyzer starting, this may take a while...
===> Updating plt...
===> Resolving files...
===> Updating base plt...
===> Resolving files...
===> Checking 202 files in ../../home/pzulato/.cache/rebar3/rebar3_23.2.6_plt...
===> Copying ../../home/pzulato/.cache/rebar3/rebar3_23.2.6_plt to _build/default/rebar3_23.2.6_plt...
===> Checking 202 files in _build/default/rebar3_23.2.6_plt...
===> Doing success typing analysis...
===> Resolving files...
===> Analyzing 1 files with _build/default/rebar3_23.2.6_plt...
{erl_opts, [debug_info]}.
{deps, []}.
{dialyzer, [
{get_warnings, true},
{warnings, [error_handling, underspecs, unknown, unmatched_returns]}
]}.
-module(test).
-export([test/0]).
%% From <https://erlang.org/doc/man/proplists.html>
-type property() :: atom() | tuple().
-type proplist() :: [property()].
-spec test() -> proplist().
test() ->
[
{one_test, [a,b,c]},
{another_test, [d,e,f]}
].
===> Verifying dependencies...
===> Analyzing applications...
===> Compiling test
===> Dialyzer starting, this may take a while...
===> Updating plt...
===> Resolving files...
===> Updating base plt...
===> Resolving files...
===> Checking 204 files in ../../home/pzulato/.cache/rebar3/rebar3_24.0_plt...
===> Copying ../../home/pzulato/.cache/rebar3/rebar3_24.0_plt to _build/default/rebar3_24.0_plt...
===> Checking 204 files in _build/default/rebar3_24.0_plt...
===> Doing success typing analysis...
===> Resolving files...
===> Analyzing 1 files with _build/default/rebar3_24.0_plt...
src/test.erl
Line 8 Column 2: Type specification test:test() -> proplist() is a supertype of the success typing: test:test() -> [{'another_test',['d' | 'e' | 'f',...]} | {'one_test',['a' | 'b' | 'c',...]},...]
===> Warnings written to _build/default/24.0.dialyzer_warnings
===> Warnings occurred running dialyzer: 1
-module(test).
-export([test/0]).
-spec test() -> proplists:proplist().
test() ->
[
{one_test, [a,b,c]},
{another_test, [d,e,f]}
].
===> Verifying dependencies...
===> Analyzing applications...
===> Compiling test
===> Dialyzer starting, this may take a while...
===> Updating plt...
===> Resolving files...
===> Checking 204 files in _build/default/rebar3_24.0_plt...
===> Doing success typing analysis...
===> Resolving files...
===> Analyzing 1 files with _build/default/rebar3_24.0_plt...