Starting Dialyzer
[
check_plt: false,
init_plt: '/home/mavmaso/work/michi/_build/dev/dialyxir_erlang-23.0.2_elixir-1.10.3_deps-dev.plt',
files_rec: ['/home/mavmaso/work/michi/_build/dev/lib/michi/ebin'],
warnings: [:unknown]
]
Total errors: 12, Skipped: 0, Unnecessary Skips: 0
done in 0m12.0s
:0:unknown_function
Function Repo.get_by/2 does not exist.
________________________________________________________________________________
:0:unknown_function
Function Utils.assoc_ers/1 does not exist.
________________________________________________________________________________
lib/michi/accounts.ex:442:pattern_match
The pattern can never match the type.
Pattern:
_args = %{:valid? => false}
Type:
%{:user_id => _, :valid? => true}
________________________________________________________________________________
lib/michi/content_guards.ex:359:invalid_contract
The @spec for the function does not match the success typing of the function.
Function:
Michi.ContentGuards.mass_create_eac/2
Success typing:
@spec mass_create_eac(%Ecto.Multi{:names => MapSet.t(_), :operations => []}, binary() | integer()) ::
%Ecto.Multi{
:names => MapSet.t(_),
:operations => [{_, {_, _} | {_, _, _} | {_, _, _, _}}, ...]
}
________________________________________________________________________________
lib/michi/evaluation.ex:74:call_to_missing
Call to missing or private function Michi.Accounts.get_children/1.
________________________________________________________________________________
lib/michi/professional_development/certificate_status.ex:11:no_return
Function changeset/2 has no local return.
________________________________________________________________________________
lib/michi/professional_development/certificate_status.ex:13:call
The function call will not succeed.
Ecto.Changeset.cast(_certificate_status :: any(), [:name], _attrs :: any())
will never return since it differs in arguments with
positions 2nd from the success typing arguments:
(
{map(), map()}
| %{:__struct__ => atom() | %{:__changeset__ => map(), _ => _}, atom() => _},
:invalid | %{:__struct__ => none(), (atom() | binary()) => _},
[atom() | binary()]
)
________________________________________________________________________________
lib/michi/professional_development/lecture.ex:50:call_to_missing
Call to missing or private function Michi.Utils.maybe_assoc/1.
________________________________________________________________________________
lib/michi_web/controllers/exam_controller.ex:18:call
The function call will not succeed.
MichiWeb.Router.Helpers.exam_path(
_conn :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:before_send => [
(%Plug.Conn{
:adapter => {_, _},
:assigns => map(),
:before_send => [(_ -> any())],
_ => _
} ->
%Plug.Conn{
:adapter => {_, _},
:assigns => map(),
:before_send => [(_ -> any())],
_ => _
})
],
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary()
| [binary() | [any()] | %{binary() => _}]
| %{binary() => binary() | [any()] | %{binary() => _}}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary()
| [binary() | [any()] | %{binary() => _}]
| %{binary() => binary() | [any()] | %{binary() => _}}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => %{}},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :chunked | :file | :sent | :set | :set_chunked | :set_file | :unset,
:status => nil | non_neg_integer()
},
:show,
_exam :: %Michi.Evaluation.Exam{_ => _}
)
will never return since it differs in arguments with
positions 2nd from the success typing arguments:
(
atom() | struct(),
:add_questions_to_exam | :list_by_group | :update_questions_in_exam,
any()
)
________________________________________________________________________________
lib/michi_web/controllers/profile_controller.ex:18:call
The function call will not succeed.
MichiWeb.Router.Helpers.profile_path(
_conn :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:before_send => [
(%Plug.Conn{
:adapter => {_, _},
:assigns => map(),
:before_send => [(_ -> any())],
_ => _
} ->
%Plug.Conn{
:adapter => {_, _},
:assigns => map(),
:before_send => [(_ -> any())],
_ => _
})
],
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary()
| [binary() | [any()] | %{binary() => _}]
| %{binary() => binary() | [any()] | %{binary() => _}}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary()
| [binary() | [any()] | %{binary() => _}]
| %{binary() => binary() | [any()] | %{binary() => _}}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => %{}},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :chunked | :file | :sent | :set | :set_chunked | :set_file | :unset,
:status => nil | non_neg_integer()
},
:show,
_profile :: %Michi.Accounts.Profile{_ => _}
)
will never return since it differs in arguments with
positions 2nd from the success typing arguments:
(atom() | struct(), :accept_tos | :update, maybe_improper_list() | map())
________________________________________________________________________________
lib/michi_web/controllers/user_essay_answer_controller.ex:33:call
The function call will not succeed.
Plug.Conn.put_status(_conn :: %{:assings => %{:current_user => _, _ => _}, _ => _}, :created)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/michi_web/plugs/context.ex:12:call
The function call will not succeed.
Jason.decode!(_current_user :: any(), %{:keys => :atoms})
will never return since the success typing is:
(
binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
[
{:keys, :atoms | :atoms! | :copy | :strings | (binary() -> any())}
| {:strings, :copy | :reference}
]
) :: any()
and the contract is
(iodata(), [decode_opt()]) :: term() | no_return()