DIP66 - Multiple alias this
mw
mingwu at gmail.com
Wed Sep 30 17:06:53 UTC 2020
On Wednesday, 30 September 2020 at 12:40:03 UTC, Paolo Invernizzi
wrote:
> On Wednesday, 30 September 2020 at 12:34:03 UTC, H. S. Teoh
> wrote:
>> On Wed, Sep 30, 2020 at 07:54:39AM +0000, Paolo Invernizzi via
>> Digitalmars-d wrote:
>>> On Wednesday, 30 September 2020 at 01:36:59 UTC, Mike wrote:
>>> > On Monday, 28 September 2020 at 19:55:10 UTC, Andrei
>>> > Alexandrescu wrote:
>>> >
>>> > 1. Deprecate `alias this` for classes, and implement
>>> > multiple `alias this` for structs. That will give users
>>> > the composition feature they need, and in addition, because
>>> > structs cannot inherit, it removes the complexity Walter
>>> > spoke of.
>>>
>>> This!
>>>
>>> We've never used alias this for classes, I'm wondering if
>>> there's something like that in Phobos, or in other projects
>>> ...
> It would be interesting to have a PR that disable alias this
> for classes just to have a look on how many external dub
> projects are impacted by that ...
Right, we just had a discussion last month on the problems I
found here:
https://forum.dlang.org/post/pjxwebeyiypgtgxqmcdp@forum.dlang.org
class SharedArray(T) {
public T[] array;
alias array this; // subtyping
}
The point is, these D language features are not well-thought and
designed, and when people start to use it and mix with other
language features, all kinds of weird corner-case behavior show
up and surprise the user.
More information about the Digitalmars-d
mailing list