http://d.puremagic.com/issues/show_bug.cgi?id=8153


Jonathan M Davis <jmdavisp...@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Warning about toHash is     |Warning about toHash
                   |incorrect                   |signature is incorrect on
                   |                            |x86_64


--- Comment #1 from Jonathan M Davis <jmdavisp...@gmx.com> 2012-05-26 15:09:58 
PDT ---
Sorry, I accidentally hit enter. Here's the bug description:
------------------------------------------------------------

This code:

struct S
{
    size_t toHash() const pure
    {
        return 42;
    }

    string val;
}

void main()
{
}


results in this error with -w:

q.d(3): Warning: toHash() must be declared as extern (D) uint toHash() const
nothrow @safe, not const pure ulong()

The _correct_ signature for toHash is

size_t toHash() @safe const pure nothrow

The warning incorrectly lists uint. It should say size_t. It should probably
also say pure, but that might not be required yet given the flux that toHash,
toString, opEquals, et al. are in at the moment with regards to their required
attributes.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to