Copy Constructor DIP
docandrew
x at x.com
Tue Jul 17 00:57:30 UTC 2018
On Saturday, 14 July 2018 at 10:53:17 UTC, Andrei Alexandrescu
wrote:
> On 7/14/18 5:03 AM, Luís Marques wrote:
>> If there is "no other meaning of @implicit" (other than the
>> intersection of those two properties) why don't you just call
>> it something like @copyctor?
>
> I'm totally cool with giving the attribute a more obscure name
> such as @copyctor or anything people want really.
>
> (What follows is a personal opinion.
>
> I think it's better to choose a more general attribute name
> with reduced initial applicability. Then application of said
> attribute can be extended to other functions with ease. In
> contrast, an obscure attribute name is sure to be followed by
> more obscure attribute names. And don't get me started about
> inventing new syntax.
>
> Regarding the hand-wringing over generality: we have an
> exceedingly poor record of paralysis of analysis, whereby we'd
> worry that every design decision potentially locks us out from
> all other as-of-yet-unchosen design decisions. If history is
> any indication, this sudden worry about vaguely-promising green
> pastures of the future is a sign of malady. We want copy
> construction. Conflating this with a very general schemata for
> implicit conversion would not be a wise decision in my opinion.
> I now deeply regret ever telling Razvan to mention future
> possible directions. This DIP must do implicit copy
> constructors and do it well, nothing less and nothing more.)
>
>
> Andrei
I think in this case, a more obscure name like @copyctor is more
descriptive. I fear that at some point, a more general attribute
like "@implicit" will turn into the next "static". To me,
@implicit smells like one of those keywords that will grow to
carry many different meanings in different contexts and just end
up overly-broad.
-Jon
More information about the Digitalmars-d
mailing list