Bug 7422 – Regression(master): ICE with template function and if statement

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-02-01T14:55:00Z
Last change time
2012-02-06T00:16:46Z
Keywords
ice
Assigned to
nobody
Creator
robert

Comments

Comment #0 by robert — 2012-02-01T14:55:31Z
The following: ---- struct Logger { static void info()() { } } void view() { if (Logger.info) { } } ---- ICEs with git master @ dc7916071b60739dcc8c09e43ff3da5218b42ff2, giving the following error: dmd: statement.c:2520: virtual Statement* IfStatement::semantic(Scope*): Assertion `condition->type' failed. Aborted On linux x86_32. Note this still occurs if you make this into a valid test case by overloading the info() method with one that returns bool.
Comment #1 by github-bugzilla — 2012-02-06T00:16:15Z
Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/a4906de97388b62aa7e7ed842e369826d36fbb9c fix Issue 7422 - Regression(master): ICE with template function and if statement