On Sun, 05 Feb 2012 11:58:40 +0100, Vidar Wahlberg <cani...@exent.net> wrote:

Also, is this really ambiguous? Are there any cases where you can have a module name followed by a parentheses, i.e. "<module>("?

Not that I know.


 > I cannot seem to recreate this error message. Which version of the
 > compiler are you using?

I'm using gdc-4.6 (Debian 4.6.2-4).
Using the Struct from above I can easily recreate the error:
struct Struct {
   int baz;
   bool opEquals(const Struct s) const {
     return baz == s.baz;
   }
}

Ah. That's the equivalent of DMD 2.054. I don't have that installed, but
it may be that this feature was not added until after that.

Fix: install GDC 4.6.1: https://bitbucket.org/goshawk/gdc/downloads

Workaround: Use a templated opEquals:

struct Struct {
    int baz;
    bool opEquals()(const Struct s) const {
        return baz == s.baz;
    }
}

Hope this works.

Reply via email to