> On 05 Jan 2016, at 02:49, Alex Jakimenko (via RT) > <perl6-bugs-follo...@perl.org> wrote: > > # New Ticket Created by Alex Jakimenko > # Please include the string: [perl #127162] > # in the subject line of all future correspondence about this issue. > # <URL: https://rt.perl.org/Ticket/Display.html?id=127162 > > > > “year” is allowed everywhere: > > Code: > say DateTime.new(year => -50).later(year => 50); > > Result > 0000-01-01T00:00:00 > > > “years” is allowed in .later: > > Code: > say DateTime.new(year => -50).later(years => 50); > > Result > 0000-01-01T00:00:00 > > > Yet this is not allowed: > > Code: > say DateTime.new(years => -50).later(years => 50); > > Result > Cannot make a DateTime object using .new > in block <unit> at -e line 1 > > Actually thrown at: > in any at gen/moar/m-Metamodel.nqp line 3041 > in block <unit> at -e line 1 > > > > <flussence> why does .later allow "year" and "years", but DateTime.new > doesn't? > > Indeed, not TIMTOWTDI-ish enough. > Also, if there is a final decision that it should not be allowed, then at > least the error message should not be LTA.
Alas, MMD doesn’t really make this easy. I actually started implementing this, but it will make things a *lot* slower. I’m not sure it warrants the effort. Now with regards to the LTAness of the error, I’ve committed 75c6b9e84ad74bcd5d5 which now shows: $ 6 'say DateTime.new(years => -50).later(years => 50)' Cannot call DateTime.new with these named parameters: years Which makes this ticket closable, as far as I’m concerned. Liz