On Wednesday, 11 November 2020 at 01:05:21 UTC, SealabJaster
wrote:
Please see the code at https://run.dlang.io/is/Yjidek
As I understand the error is caused by trying to provide a
delegate when there's no context to provide. Not complaining
about that.
However what I am complaining about is about the error message:
`onlineapp.d(31): Error: delegate onlineapp.S.__lambda2 cannot
be struct members`
I'm not sure if it's just me, but that error message makes
absolutely no sense to me. Should that message be improved?
Yeah, that message is really bad. The actual problem is that the
compiler isn't able to figure out the type of the lambda you've
provided. If you change the argument to `(string str)`, it'll
work.
The real question is, why does type inference fail for the UDA
when it works for the normal constructor call?