Thread overview
[Issue 3792] New: Error: non-constant expression in xf.omg.core.LinearAlgebra
Feb 11, 2010
Fawzi Mohamed
Feb 11, 2010
Fawzi Mohamed
Feb 11, 2010
Matti Niemenmaa
[Issue 3792] Regression: "non-constant expression" for a template inside a struct using a struct initializer
Mar 08, 2010
Fawzi Mohamed
Mar 09, 2010
Walter Bright
Mar 09, 2010
Fawzi Mohamed
May 31, 2010
Don
Jun 24, 2010
Don
[Issue 3792] Regression(1.053) "non-constant expression" for a template inside a struct using a struct initializer
Apr 23, 2011
Walter Bright
May 30, 2011
Don
February 11, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3792

           Summary: Error: non-constant expression in
                    xf.omg.core.LinearAlgebra
           Product: D
           Version: 1.056
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: fawzi@gmx.ch


--- Comment #0 from Fawzi Mohamed <fawzi@gmx.ch> 2010-02-11 05:08:09 PST ---
The conversions of scalars to Fixed type now fails at compile time. There are several similar bugs to which it might be connected.

I join a reduced tango and xf independent test case.

Possibly connected to this xf.omg.core.CoordSys (that includes LinearAlgebra)
segfaults.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 11, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3792



--- Comment #1 from Fawzi Mohamed <fawzi@gmx.ch> 2010-02-11 06:51:50 PST ---
Created an attachment (id=566)
a testcase that fails

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 11, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3792


Matti Niemenmaa <matti.niemenmaa+dbugzilla@iki.fi> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |matti.niemenmaa+dbugzilla@i
                   |                            |ki.fi


--- Comment #2 from Matti Niemenmaa <matti.niemenmaa+dbugzilla@iki.fi> 2010-02-11 08:55:10 PST ---
Reduced:

struct S {
    int x;

    template T(int val) {
        const S T = { val };
    }
}

const x = S.T!(0);

// arst.d(9): Error: non-constant expression (S).T

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 08, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3792



--- Comment #3 from Fawzi Mohamed <fawzi@gmx.ch> 2010-03-08 00:27:59 PST ---
This bug is listed as fixed in 1.057, but while the reduced case by Matti Niemenmaa is indeed fixed, the original testcase still fails (I am pointing it out so that it stays open...)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 09, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3792


Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bugzilla@digitalmars.com
         Resolution|                            |FIXED


--- Comment #4 from Walter Bright <bugzilla@digitalmars.com> 2010-03-08 22:24:37 PST ---
Fixed dmd 1.057

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 09, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3792


Fawzi Mohamed <fawzi@gmx.ch> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |


--- Comment #5 from Fawzi Mohamed <fawzi@gmx.ch> 2010-03-09 03:24:39 PST ---
As I wrote in my previous comment, the attached testcase still fails...

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 31, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3792



--- Comment #6 from Don <clugdbug@yahoo.com.au> 2010-05-31 06:11:36 PDT ---
Reduced test case for the case that still fails. It's the same, except that the struct member is explicitly named in the struct initializer.

struct S {
    int x;

    template T(int val) {
        const S T = { x: val };
    }
}

const x = S.T!(0);

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
June 24, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3792



--- Comment #7 from Don <clugdbug@yahoo.com.au> 2010-06-24 13:55:11 PDT ---
The D2 version of this code never compiled without error.

struct S {
    int x;
    template T(int val) {
        enum S T = { x: val };
    }
}
const x = S.T!(0);

It fails to compile because init.c, StructInitializer::toExpression() returns
NULL if any of the fields have names ( if (field.data[i]) goto Lno; )
And this is just because it's never been implemented.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 23, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=3792



--- Comment #8 from Walter Bright <bugzilla@digitalmars.com> 2011-04-23 15:50:37 PDT ---
D1 fix: https://github.com/D-Programming-Language/dmd/commit/da0159d02d0e4ecb7ad1afa4bc6da402e677846f

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 30, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=3792


Don <clugdbug@yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |FIXED


--- Comment #9 from Don <clugdbug@yahoo.com.au> 2011-05-30 07:58:57 PDT ---
Fixed DMD2.053

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------