Re: EEP37: Funs with names
Anthony Ramine <[email protected]>
| Newsgroups | gmane.comp.lang.erlang.patches |
|---|---|
| Message-ID | <[email protected]> |
Hello Björn, Replied inline. -- Anthony Ramine Le 28 nov. 2013 à 13:44, Björn Gustavsson <[email protected]> a écrit : > On Wed, Nov 14, 2012 at 5:42 PM, Anthony Ramine <[email protected]> wrote: > This patch implements EEP37: Funs with names > > > It is now much closer to being graduated. > > I have added the branch to our daily builds for the master branch. Cool. > I would like a comment from Kostis about the Dialyzer changes. Me too, he suggested to me that it might break HiPE too but I couldn’t make HiPE crash. > What also remains is coverage in test suites. I have fixed a few, > but xref_SUITE remains to be fixed (a named fun with the '_' name > should be tested). Will do. > Here are my fixes for the test suites (also included as an attachment > to make it easier to apply): Will apply. > diff --git a/lib/compiler/test/fun_SUITE.erl b/lib/compiler/test/fun_SUITE.erl > index 0ff846e..e35692e 100644 > --- a/lib/compiler/test/fun_SUITE.erl > +++ b/lib/compiler/test/fun_SUITE.erl > @@ -197,10 +197,14 @@ external(Config) when is_list(Config) -> > call_me(I) -> > {ok,I}. > > -id(I) -> > - I. > - > eep37(Config) when is_list(Config) -> > F = fun Fact(N) when N > 0 -> N * Fact(N - 1); Fact(0) -> 1 end, > + Add = fun _(N) -> N + 1 end, > + UnusedName = fun BlackAdder(N) -> N + 42 end, > 720 = F(6), > + 10 = Add(9), > + 50 = UnusedName(8), > ok. > + > +id(I) -> > + I. > diff --git a/lib/debugger/test/fun_SUITE.erl b/lib/debugger/test/fun_SUITE.erl > index 569af6c..75e3b55 100644 > --- a/lib/debugger/test/fun_SUITE.erl > +++ b/lib/debugger/test/fun_SUITE.erl > @@ -288,10 +288,14 @@ external(Config) when is_list(Config) -> > call_me(I) -> > {ok,I}. > > -id(I) -> > - I. > - > eep37(Config) when is_list(Config) -> > F = fun Fact(N) when N > 0 -> N * Fact(N - 1); Fact(0) -> 1 end, > + Add = fun _(N) -> N + 1 end, > + UnusedName = fun BlackAdder(N) -> N + 42 end, > 720 = F(6), > + 10 = Add(9), > + 50 = UnusedName(8), > ok. > + > +id(I) -> > + I. > diff --git a/lib/stdlib/test/erl_lint_SUITE.erl b/lib/stdlib/test/erl_lint_SUITE.erl > index ea90793..ad51bfa 100644 > --- a/lib/stdlib/test/erl_lint_SUITE.erl > +++ b/lib/stdlib/test/erl_lint_SUITE.erl > @@ -644,7 +644,9 @@ unused_vars_warn_fun(Config) when is_list(Config) -> > u() -> > fun U(U) -> foo end; % U shadowed. U unused. > u() -> > - fun U(1) -> U; U(U) -> foo end. % U shadowed. U unused. > + fun U(1) -> U; U(U) -> foo end; % U shadowed. U unused. > + u() -> > + fun _(N) -> N + 1 end. % Cover handling of '_' name. > ">>, > [warn_unused_vars], > {error,[{3,erl_lint,{unbound_var,'U'}}], > > > id/1 is a common help function, so I want it to remain at the end > of the file. Thanks for nitpicking even more than myself :p > /Bjorn _______________________________________________ erlang-patches mailing list [email protected] http://erlang.org/mailman/listinfo/erlang-patches