On Wed, 12 Sep 2018 at 04:40, Dejan Lekic via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote: > > On Tuesday, 11 September 2018 at 15:22:55 UTC, rikki cattermole > wrote: > > > > Here is a question (that I don't think has been asked) why not > > @copy? > > > > @copy this(ref Foo other) { } > > > > It can be read as copy constructor, which would be excellent > > for helping people learn what it is doing (spec lookup). > > > > Also can we really not come up with an alternative bit of code > > than the tupleof to copying wholesale? E.g. super(other); > > I could not agree more. @implicit can mean many things, while > @copy is much more specific... For what is worth I vote for @copy > ! :)
@implicit may be attributed to any constructor allowing it to be invoked implicitly. It's the inverse of C++'s `explicit` keyword. As such, @implicit is overwhelmingly useful in its own right. This will address my single biggest usability complaint of D as compared to C++. @implicit is super awesome, and we must embrace it.