Copy Constructor DIP
Johannes Pfau
nospam at example.com
Thu Jul 12 17:36:16 UTC 2018
Am Thu, 12 Jul 2018 17:32:06 +0000 schrieb Johannes Pfau:
> Am Thu, 12 Jul 2018 09:48:37 -0400 schrieb Andrei Alexandrescu:
>
>>> I agree that the current syntax is lacking. This was Andrei's
>>> proposition and I was initially against it, but he said to put it in
>>> the DIP so that we can discuss it as a community. Maybe this syntax is
>>> better:
>>>
>>> @this(ref S a another)
>>>
>>> It looks like the c++ copy constructor but the `@` makes it different
>>> from a constructor, so we're good. What do you think?
>>
>> We will not add syntax if we can help it.
>
> We have this(this) for postblits so how about this(ref this a) for copy
> constructors?
>
> Unfortunately this is currently valid code and compiles: this is treated
> as typeof(this). However, we have already deprecated that, so maybe we
> can reuse the syntax? It should be a quite consistent evolution from
> this(this).
>
> (Another option is this(ref this A a) which does not conflict with
> existing syntax).
I just read your other replies Andrei. I guess if we're ever going use
the same syntax for implicit conversions, the @implicit syntax is indeed
consistent and logical. As long as it's only used for copy-ctors the name
feels 'strange'.
--
Johannes
More information about the Digitalmars-d
mailing list