Re: bogus 'unsafe variable' warning with try-else

Joel Ericson <[email protected]>
Newsgroups gmane.comp.lang.erlang.bugs
Message-ID <CAF=90UA6X3Mj54PR6Wmi3O=agx2AH3fNvx3E6c2wr+0ft5DrPw@mail.gmail.com>
The binding {ok,Bin} = file:read(F, 1024*1024) *can* fail. E.g., if I were
to load in my own file library, where file:read/2 returns {data,Data}, this
fails. And as far as I know, one is not supposed to assume anything about
what other modules return during compile time.

Regards
Joel

On Thu, Nov 20, 2014 at 2:22 PM, Kostis Sagonas <[email protected]> wrote:

> On 11/20/14 15:13, Anthony Ramine wrote:
>
>> try file:read(F, 1024 * 1024) of
>>      {ok,Bin} -> binary_to_term(Bin)
>> after
>>      file:close(F)
>> end
>>
>
>
> And the reason to _having_ to write this is?  (*)
>
> Cheers,
> Kostis
>
> (*) Less bugs are exposed in the compiler and less baby cats die in China
> if we all write like that, perhaps? :)
>
> Jokes aside, I also agree the above code is nicer, but that does not mean
> that the current warning is bogus and the analysis should be fixed.
>
> _______________________________________________
> erlang-bugs mailing list
> [email protected]
> http://erlang.org/mailman/listinfo/erlang-bugs
>

_______________________________________________
erlang-bugs mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-bugs
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.