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

Mike Franklin <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #4 from Mike Franklin <[email protected]> ---
Attributing `opEquals` with `nothrow` resolves the linker error:

struct S
{
    P payload;
    alias payload this;
}

struct P
{
    auto opEquals(T)(T other) const nothrow  //*** Needs nothrow ***/
    {
        static assert(is(typeof(performOp!(S[], T))));
        return const(S[]).init == other;
    }
}

bool performOp(T, A)(T value, A arg)
{
    return value == arg;
}

--

Reply via email to