On Monday, 27 August 2012 at 14:53:24 UTC, Andrei Alexandrescu wrote:
On 8/27/12 7:34 AM, Manu wrote:
On 27 August 2012 17:03, foobar <f...@bar.com <mailto:f...@bar.com>> wrote:

This discussion is all sorts of wrong. Whoever said that defargs are
   metadata (Manu?) was right. Therefore it would make sense to
implement a general metadata facility for D and use *that* for defargs. C++11 has annotations, so that's the place to start looking at. D has already enough of those pesky special case features, let's
   not add yet another one at the expense of a more general
metadata/annotation mechanism which eventually would be added anyway
   due to popular demand.


Yes, I suggested this as a possibility above, but nobody commented. It
seems like it might solve 2 problems with one stone ;)

Whilst I agree a metadata facility is an interesting topic to look into, I think default arguments for functions is a poor motivating example.

Andrei

The point was that there are _other_ motivating examples for annotations hence there's already popular demand for it. Which is why it's worth the added complexity to the language. In fact part of that complexity *already* exists in D syntax via built-in annotations (e.g @safe). This same feature (annotations) can be leveraged to solve this small corner case hence it shouldn't be implemented separately and complicate both D and DMD for little gain.

Reply via email to