diff --git a/src/rebar_compiler_dag.erl b/src/rebar_compiler_dag.erl index d6038e83..ee46d5a7 100644 --- a/src/rebar_compiler_dag.erl +++ b/src/rebar_compiler_dag.erl @@ -247,6 +247,7 @@ compile_order(G, AppDefs) -> AppPaths = prepare_app_paths(AppDefs), compile_order(Edges, AppPaths, #{}). +-dialyzer({no_opaque, maybe_store/5}). % optimized digraph usage breaks opacity %% @doc Store the DAG on disk if it was dirty maybe_store(G, Dir, Compiler, Label, CritMeta) -> case is_dirty(G) of @@ -281,6 +282,7 @@ dag_file(Dir, CompilerMod, Label) -> filename:join([rebar_dir:local_cache_dir(Dir), CompilerMod, ?DAG_ROOT ++ "_" ++ Label ++ ?DAG_EXT]). +-dialyzer({no_opaque, restore_dag/3}). % optimized digraph usage breaks opacity restore_dag(G, File, CritMeta) -> case file:read_file(File) of {ok, Data} -> @@ -298,6 +300,7 @@ restore_dag(G, File, CritMeta) -> ok end. +-dialyzer([{no_opaque, store_dag/3}, {no_return, store_dag/3}]). % optimized digraph usage breaks opacity store_dag(G, File, CritMeta) -> ok = filelib:ensure_dir(File), {digraph, VT, ET, NT, false} = G, diff --git a/src/rebar_prv_alias.erl b/src/rebar_prv_alias.erl index ce56f29f..c9a8943b 100644 --- a/src/rebar_prv_alias.erl +++ b/src/rebar_prv_alias.erl @@ -22,6 +22,7 @@ init(State) -> end end, {ok, State}, Aliases). +-dialyzer([{no_opaque, init_alias/3}, {no_return, init_alias/3}]). % warnings relate to use of opaque structures in :forms init_alias(Alias, Cmds, State) -> Module = list_to_atom("rebar_prv_alias_" ++ atom_to_list(Alias)), @@ -65,10 +66,11 @@ validate_provider(Alias, Cmds, State) -> false end. - +-dialyzer({no_unused, example/1}). % required since we suppress warnings for init_alias/3 example(Alias) -> "rebar3 " ++ atom_to_list(Alias). +-dialyzer({no_unused, desc/1}). % required since we suppress warnings for init_alias/3 desc(Cmds) -> "Equivalent to running: rebar3 do " ++ rebar_string:join(lists:map(fun to_desc/1, Cmds), ",").