Dialyzer: Trying to understand the origin of "no local return"

Thomas Depierre <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <CAKd2JeK6NnJ47K6JxEZfoFOQf9pik9NyUWYkukpowONyzqZTpA@mail.gmail.com>
Hello,

In looking the source of Dialyzer "no local return", i find this code
https://github.com/erlang/otp/blob/master/lib/dialyzer/src/dialyzer.erl#L386-L397

In particular, i see that there are two types that can return this message.
"only_normal" and "both".

I understand the other possible "no_return" warnings here, but i do not
understand what situations does "only_normal" and "both" means here and how
they get differentiated. I tried to understand how Dialyzer get to this
decision in the code before that, but i got bogged down.

In particular, i do not understand what the tuple returned by
find_terminals here
https://github.com/erlang/otp/blob/master/lib/dialyzer/src/dialyzer_dataflow.erl#L3842
means.

Thank you for your help, would be greatly appreciated

Thomas Depierre
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.