On 7/7/13, Tommi <tommitiss...@hotmail.com> wrote: > Sometimes you need to have some extra data to check against in > the assert expression. That data isn't needed in release mode > when assertions are ignored. Therefore, you put that extra data > inside a version(assert). But then those assertions fail to > compile in release mode because the symbol lookup for that extra > data fails. For this reason, assert statements should live inside > version(assert) blocks by default.
I've ran into an issue when implementing this feature back in February (see the pull request): http://d.puremagic.com/issues/show_bug.cgi?id=9450 https://github.com/D-Programming-Language/dmd/pull/1614