D-Programming-Language/dmd — pull request #499 by donc (2011-11-07 12:42:57+00:00)
Title: CTFE: support with + synchronized +6416+6901

Adds support for with statements in CTFE, and fixes two bugs:

6416 [CTFE] Declaration static struct is not yet implemented in CTFE
6901 wrong error "override cannot be applied to variable" in CTFE forward reference

Also allows synchronized statements in CTFE. It's a bit of a useless feature (since it's a no-op), but allowing it makes the spec shorter, and it's easier to implement it than to give a nice error message about it...

Although there are still some open CTFE feature-related bugs (unions, local structs with constructors, closures), these commits allow us to remove all the arbitrary rules from the spec. Ie, the rules become:
* must have source code
* no static variables
* no asm or non-portable casts