http://d.puremagic.com/issues/show_bug.cgi?id=3775
--- Comment #2 from Don <[email protected]> 2010-02-09 11:28:25 PST --- ROOT CAUSE: This is an interaction between IFTI and property syntax. PATCH: At the end of CastExp::semantic, make sure that the function has a type. Index: expression.c =================================================================== --- expression.c (revision 373) +++ expression.c (working copy) @@ -7796,7 +7796,11 @@ // BUG: Check for casting array types, such as void[] to int*[] } - + if (!e1->type && e1->op==TOKdottd) + { + error("%s is a template and cannot be called with property syntax", e1->toChars()); + return new ErrorExp(); + } e = e1->castTo(sc, to); return e; } ===== Some similar cases cause the compiler to do strange things (see below), so I'm not completely satisfied with the patch. But let's just fix the segfault. struct Bug3775 { static int byLine()() { return 1; } } void main(){ auto xxx = Bug3775.byLine; } // accepted; xxx is an int. void main(){ int xxx = Bug3775.byLine; } // rejected: (Bug3775).byLine() has no value -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
