http://d.puremagic.com/issues/show_bug.cgi?id=4953
Summary: opBinaryRight for "in" doesn't work right Product: D Version: D2 Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: schvei...@yahoo.com --- Comment #0 from Steven Schveighoffer <schvei...@yahoo.com> 2010-09-28 14:13:57 PDT --- Given this struct: struct S { short _x; bool opBinaryRight(string op)(short x) if (op == "in") { return x == _x; } } void main() { S s; 5 in s; } This produces the error: testopin.d(13): Error: rvalue of in expression must be an associative array, not S But change the type of x to int, and it works. However, the type of the argument should play no role in whether the template can be instantiated. It seems this is the error message that is given when a type does not support opIn, so the error message is very bad too. Slightly related, but not the same issue: bug 3905 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------