On 07/12/2018 03:40 PM, Andrei Alexandrescu wrote:
On 07/10/2018 04:58 PM, Manu wrote:
[...]
1. Explain the need and reasoning behind `@implicit`.


Razvan: I think it would help to explain that the attribute is necessary to avoid changing semantics of existing code. Thanks.

You're still potentially changing the semantics of existing code. `@implicit` can be a UDA today:

----
enum implicit = 0;
struct C
{
    @implicit this(ref C another) {}
}
----

Today, that's a normal constructor. With the DIP, it becomes a copy constructor.

Reply via email to