[erlang-bugs] bogus 'unsafe variable' warning with try-else
Joel Ericson
kasettbok@REDACTED
Thu Nov 20 14:44:55 CET 2014
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 <kostis@REDACTED> 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
> erlang-bugs@REDACTED
> http://erlang.org/mailman/listinfo/erlang-bugs
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20141120/d3b31adb/attachment.htm>
More information about the erlang-bugs
mailing list