http://d.puremagic.com/issues/show_bug.cgi?id=2468
Summary: result type of AndAndExp and OrOrExp deduced incorrectly Product: D Version: 1.035 Platform: PC OS/Version: Linux Status: NEW Keywords: patch Severity: normal Priority: P2 Component: DMD AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] The spec says that "The result type of an OrOrExpression is bool, unless the right operand has type void, when the result is type void." However, in AndAndExp and OrOrExp::semantic, it says: if (e1->type->ty == Tvoid) type = Type::tvoid; The second seems to be a typo and shoud say e2->type->ty. Thanks to wilsonk, who found the bug that resulted from this in LDC and also provided the fix. --