Thread overview
[Issue 11225] New: Module dependency cycle causes import statements inside typeof() expressions inside templates fail
Oct 11, 2013
Sönke Ludwig
Oct 11, 2013
Sönke Ludwig
[Issue 11225] Module dependency cycle causes import statements inside typeof() expressions inside templates to fail
Oct 11, 2013
Sönke Ludwig
Oct 16, 2013
Kenji Hara
Oct 16, 2013
Walter Bright
October 11, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11225

           Summary: Module dependency cycle causes import statements
                    inside typeof() expressions inside templates fail
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: rejects-valid
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: sludwig@outerproduct.org


--- Comment #0 from Sönke Ludwig <sludwig@outerproduct.org> 2013-10-11 08:39:51 PDT ---
Compiling the following with "dmd -c a.d" results in a failure of the last static assertion. Removing the actual dependency of b on a by commenting out the declaration of J lets the assertion pass.

This bug is the supposed cause for loads of bogus error messages referring to "startsWith" or "Appender". I was sure that the issue was already reported, but didn't find anything useful, except for some possibly related bugs that have no reduced test case.

This is a regression introduced in DMD 2.061.

a.d
---
import b;
interface I {}
---

b.d
---
import a;

interface J : I {} // remove this line to make it work

static assert(is(typeof({ import c; }))); // OK
pragma(msg, B!().result); // just instantiates the template

template B() {
    static assert(is(typeof({ import c; }))); // FAILS
    enum result = "WORKS";
}
---

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



--- Comment #1 from Sönke Ludwig <sludwig@outerproduct.org> 2013-10-11 08:42:20 PDT ---
Similar issues: http://d.puremagic.com/issues/show_bug.cgi?id=10177 http://d.puremagic.com/issues/show_bug.cgi?id=10342

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



--- Comment #2 from Sönke Ludwig <sludwig@outerproduct.org> 2013-10-11 08:44:13 PDT ---
Oh and of course a "c" module is also needed:

c.d
---
// empty
---

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11225


Kenji Hara <k.hara.pg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull


--- Comment #3 from Kenji Hara <k.hara.pg@gmail.com> 2013-10-15 19:40:24 PDT ---
https://github.com/D-Programming-Language/dmd/pull/2671

The regression was introduced by fixing bug 9210 - a regression in 2.061-beta.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11225



--- Comment #4 from github-bugzilla@puremagic.com 2013-10-16 00:48:13 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/a4ceb3355283dcef1bd8390b41d54a8d7e945ad9
fix Issue 11225 - Module dependency cycle causes import statements inside
typeof() expressions inside templates to fail

https://github.com/D-Programming-Language/dmd/commit/416fe49e58957cc9310e0d8f0009b76e3156fbf7 Merge pull request #2671 from 9rnsr/fix11225

[REG2.061] Issue 11225 - Module dependency cycle causes import statements inside typeof() expressions inside templates to fail

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11225



--- Comment #5 from github-bugzilla@puremagic.com 2013-10-16 00:49:12 PDT ---
Commit pushed to 2.064 at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/699f0f8aaea6da475a1cb2956bb1d9087b48bf39 Merge pull request #2671 from 9rnsr/fix11225

[REG2.061] Issue 11225 - Module dependency cycle causes import statements inside typeof() expressions inside templates to fail

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11225


Walter Bright <bugzilla@digitalmars.com> changed:

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


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