Re: EEP37: Funs with names
Björn Gustavsson <[email protected]>
| Newsgroups | gmane.comp.lang.erlang.patches |
|---|---|
| Message-ID | <CA+yh78Si6roMASSSupUBR-Csh=iAtkcy0B=pY48FW7Q6_dCSZw@mail.gmail.com> |
Could you rebase the branch on master? On Sun, Dec 1, 2013 at 1:46 PM, Anthony Ramine <[email protected]> wrote: > Amended with your fixup and some covering code for functions named with > "_" in xref_SUITE. > > Please refetch. > > -- > Anthony Ramine > > Le 28 nov. 2013 à 13:52, Anthony Ramine <[email protected]> a écrit : > > > 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 > > -- Björn Gustavsson, Erlang/OTP, Ericsson AB _______________________________________________ erlang-patches mailing list [email protected] http://erlang.org/mailman/listinfo/erlang-patches