digitalmars.D.bugs - [Issue 1300] New: Issues with struct in compile-time function
- d-bugmail puremagic.com (35/35) Jun 30 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1300
- d-bugmail puremagic.com (22/22) Jun 30 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1300
- d-bugmail puremagic.com (9/9) Jul 30 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1300
http://d.puremagic.com/issues/show_bug.cgi?id=1300
Summary: Issues with struct in compile-time function
Product: D
Version: 1.017
Platform: PC
OS/Version: Windows
Status: NEW
Severity: blocker
Priority: P2
Component: DMD
AssignedTo: bugzilla digitalmars.com
ReportedBy: samukha voliacable.com
May be related to 1204
struct Bar
{
int x;
}
int foo()
{
// Fails with 'Error: cannot cast int to Bar' if explicit initialization is
omitted:
Bar b = Bar.init;
b.x = 1;
b = bar(b); // Error: cannot evaluate foo() at compile time
return b.x;
}
Bar bar(Bar b)
{
return b;
}
void main(char[][] args)
{
static x = foo();
}
--
Jun 30 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1300
More test cases:
struct Bar
{
int x;
}
int foo()
{
Bar b = Bar.init;
b.x = 100;
for (size_t i = 0; i < b.x; i++) // b.x is the stumbling block here
{
}
b.x++; // fails while b.x = b.x + 1 works
return b.x;
}
void main(char[][] args)
{
static x = foo();
}
--
Jun 30 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1300
bugzilla digitalmars.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Fixed DMD 1.019 and 2.003
--
Jul 30 2007









d-bugmail puremagic.com 