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

Mike Franklin <slavo5...@yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |slavo5...@yahoo.com

--- Comment #4 from Mike Franklin <slavo5...@yahoo.com> ---
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