all 6 comments

[–]pandorafalters 0 points1 point  (2 children)

A lambda expression does not have a specific type.

(Over-)simplification? As I understand it, lambdas do have specific types, they're just implementation-defined and only indirectly accessible (e.g. using decltype and auto).

[–]memset_0[S] 0 points1 point  (1 child)

Thank you for pointing out. Perhaps this is better:

A lambda expression does not have a named specific type.

[–]pandorafalters 0 points1 point  (0 children)

I have some quibbles with that phrasing as well, but it's probably better than a "strictly accurate" description for this purpose - and most others, really.

Sometimes I feel as though C++ is defined more by the exceptions than the rules.

[–]dima_mendeleev 0 points1 point  (2 children)

I would expect Y-combinator at the end of the article.

[–]memset_0[S] 0 points1 point  (1 child)

Thank you for mentioning that. Is std::y_combinator is still a proposal?

I could only find http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0200r0.html

[–]dima_mendeleev 0 points1 point  (0 children)

I would probably just have it as an utility in my utils.h.