On Tuesday, October 12, 2010 13:40:32 Andrei Alexandrescu wrote: > On 10/12/10 13:58 CDT, Christopher Bergqvist wrote: > > On Tue, Oct 12, 2010 at 2:37 AM, Andrei Alexandrescu > > <[email protected] > > > > <mailto:[email protected]>> wrote: > > assert(false) could be in an ideal world replaced by an intrinsic > > called e.g. halt() that looks and feels like a regular function but > > is recognized by the compiler. No new keyword would be needed. But I > > don't think that would mark a significant improvement in the > > language. > > > > Would it be possible to change the compiler to only treat > > "assert(false);" specially, avoiding treating "enum a = 0; assert(a);" > > or more complex constructs that way? > > Question is when to stop. assert(0), assert(false), assert(1 == 0)... > > Andrei
If we were to make that change, I'd say to make it simple and just use assert(0) and assert(false), but it's certainly a valid point. Personally, I don't think that it's an issue because it's really only going to happpen with compile-time constants which wouldn't normally be in an assert statement anyway. - Jonathan M Davis
