D-Programming-Language/dmd — pull request #586 by donc (2011-12-27 10:12:35+00:00)
Title: CTFE bool bugs 7162 7165 4711

7162 is four bugs, all because typeof(bool && void) is void. Constant folding was changing "false || f()" into "!!f()", even when f() is void. And CTFE was ignoring the possibility that the second operand could be void.
7165 is an overzealous assert.

4711 Incorrect handling of && operator with void operand
7162 [CTFE] "bool || void" expression crashes dmd
7165 [CTFE] ice converting null pointer to bool with constant member function