cannot deduce template lambda from argument
Jonathan M Davis
newsgroup.d at jmdavisprog.com
Wed Dec 6 11:02:01 UTC 2017
On Wednesday, December 06, 2017 10:43:18 aliak via Digitalmars-d-learn
wrote:
> On Wednesday, 6 December 2017 at 08:10:26 UTC, Biotronic wrote:
> > On Tuesday, 5 December 2017 at 23:01:43 UTC, aliak wrote:
> >> immutable lambda(T) = (T n) => n * n;
> >
> > Generally, you'd want to write
> >
> > alias lambda = n => n * n;
> >
> > instead. That said, I don't see any reason why your syntax
> > shouldn't work, and would argue it's a bug. Please file it in
> > Bugzilla.
> >
> > --
> >
> > Biotronic
>
> Ok thanks! Done: https://issues.dlang.org/show_bug.cgi?id=18037
>
> Btw, in the case of your suggested approach, what if I want to
> constrain the parameter type?
If you only want one type, then given n that type; I'm pretty sure that it
would be
alias lambda = (int n) => n * n;
if you wanted an int. But if you want to do anything more complicated with
it, it would make more sense to just turn it into a proper function
template.
- Jonathan M Davis
More information about the Digitalmars-d-learn
mailing list