[Issue 19117] Alias this incorrectly invoked in conversion to ref

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Jul 26 12:07:09 UTC 2018


https://issues.dlang.org/show_bug.cgi?id=19117

Simen Kjaeraas <simen.kjaras at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |simen.kjaras at gmail.com
            Summary|Alias this messes up call   |Alias this incorrectly
                   |to normal function          |invoked in conversion to
                   |                            |ref

--- Comment #2 from Simen Kjaeraas <simen.kjaras at gmail.com> ---
Further simplified:

struct A {
    const(A) fun();
    alias fun this;
}

void fun2(ref A a);

unittest {
    A a;
    fun2(a);
}

This bug triggers when the alias this type is a qualified version of A (shared,
const, or immutable), and A has no aliasing (pointers, dynamic arrays, AAs).

--


More information about the Digitalmars-d-bugs mailing list