Re: I am close to using a behaviour as a pure interface and I feel dirty...
Kostis Sagonas <[email protected]>
| Newsgroups | gmane.comp.lang.erlang.general |
|---|---|
| Message-ID | <[email protected]> |
The statement in the manual is indeed a bit confusing, but it clearly states that enabling this option affects **the exit status** of the dialyzer Unix command. But dialyzer reports (and always reported) unknown functions, as you can see in the example it was mentioned in the beginning of this thread: $ dialyzer f.erl Checking whether the PLT /home/kostis/.dialyzer_plt is up-to-date... yes Proceeding with analysis... Unknown functions: hjsdfkjsdhfskjfhskhskhfskl:yutyrutyriuyiw/0 done in 0m1.41s done (passed successfully) Note the "passed successfully" exit status (since I did not use -Wunknown). If I use it, I get: $ dialyzer -Wunknown f.erl Checking whether the PLT /home/kostis/.dialyzer_plt is up-to-date... yes Proceeding with analysis... Unknown functions: hjsdfkjsdhfskjfhskhskhfskl:yutyrutyriuyiw/0 done in 0m1.02s done (warnings were emitted) I hope this settles it. But, if anybody from OTP reads this, perhaps the phrase: "; the default is not to return these warnings" should be taken out from the manual. Kostis On 8/26/21 11:05 PM, Stanislav Ledenev wrote: > >> Apparently the dialyzer cli tool has `-Wunknown` on by default but > the api doesn't? > > Quote (https://erlang.org/doc/man/dialyzer.html): > " > -Wunknown (***) > Let warnings about unknown functions and types affect the exit status of > the command-line version. The default is to ignore warnings about > unknown functions and types when setting the exit status. When using > Dialyzer from Erlang, warnings about unknown functions and types are > returned; the default is not to return these warnings. > > *** denotes options that turn on warnings rather than turning them off. > " > > чт, 26 авг. 2021 г. в 19:01, Tristan Sloughter <[email protected] > <mailto:[email protected]>>: > > __ > I don't remember details and haven't reread this, but I dug up this > old discussion about rebar3 and dialyzer unknown option: > https://github.com/erlang/rebar3/issues/1751 > > Apparently the dialyzer cli tool has `-Wunknown` on by default but > the api doesn't? > > On Thu, Aug 26, 2021, at 07:18, Stanislav Ledenev wrote: >> >> Surely Dialyzer will tell you that there is an unknown function >> in the >> >> module that you analyze. >> >> I guess you are talking about the -Wunknown option? >> It is ok, but this option is turned off by default. >> At the beginning of learning Erlang's tools, in terms of ease of >> use, the xref tool is more convenient (IMHO of course). >> >> Anyway, Erlang has a bunch of really good tools and understanding >> them is a matter of time. >> >> >> >