Jason Merrill wrote:
Experimenting with a working version and seeing it's issues will be useful to me. To others to maybe. With concepts gone from C++0x and being reworked for C++15(?) maybe support for polymorphic lambdas could be reintroduced? -- though I'm sure its much too late for that and that its likely been around the buoy many times. From what I have read I got the idea that the Callable concept was the primary reason for polymorphic lambdas not being accepted.

I don't know what the reasoning was there, but people have been somewhat conservative about what usages of lambdas are allowed for fear of unforseen implementation issues. Certainly having a working implementation would go a lot toward convincing people to allow it, even if it doesn't make it into C++0x.

There were several issues with polymorphic lambdas in the presence of concepts that concerned many on the committee. I've come to accept that it's too late to re-introduce polymorphic lambdas into C++0x (now C++1x), but there's no stopping GCC from implementing it as an extension.



Implied template typename arguments via auto are not currently supported. The syntax parses but I haven't yet synthesized the template arguments and therefore not replaced the auto's with them so it doesn't compile.

Since templates work so differently from normal functions, I'm a little uncomfortable with the idea of templates that don't involve any template syntax, just the use of auto in the parameter list. But I'm open to giving it a try, at least in the lambda context. Maybe outside of lambda it could be used with a small template introducer...

Just my opinion, but I don't think there should be any special template syntax. The whole point of argument deduction was terseness. It doesn't have to be implemented using templates, so I don't equate it with templates.

- John

Reply via email to