Bug 12497 – [REG2.064] ICE on string mixin with non-string operand
Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2014-03-31T01:54:00Z
Last change time
2014-03-31T02:48:07Z
Keywords
accepts-invalid, ice, pull
Assigned to
nobody
Creator
k.hara.pg
Comments
Comment #0 by k.hara.pg — 2014-03-31T01:54:36Z
Test case:
void foo() {}
void main()
{
struct S
{
mixin(foo()); // MixinDeclaration
}
mixin(foo()); // MixinStatement
}
With 2.063:
test.d(6): Error: cannot evaluate foo() at compile time
test.d(6): Error: argument to mixin must be a string, not (foo())
test.d(8): Error: cannot evaluate foo() at compile time
test.d(8): Error: argument to mixin must be a string, not (foo())
test.d(8): Error: cannot evaluate foo() at compile time
test.d(8): Error: argument to mixin must be a string, not (foo())
With 2.064:
(no error)
With 2.065:
Assertion failure: 'global.gaggedErrors || global.errors' on line 293 in file 'statement.c'
abnormal program termination