www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 9210] New: [2.061 beta] Import cycle causes unpredictable compile errors

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9210

           Summary: [2.061 beta] Import cycle causes unpredictable compile
                    errors
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: sludwig outerproduct.org



PST ---
Created an attachment (id=1173)
Reproduction case

Compiling the following three files using `dmd -c a.d` causes the compiler to
fail compiling code in std.complex:

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

b.d
---
import c;
import std.datetime;
interface B : A {}
---

c.d
---
import a;
interface C : A {}
---

output:
---
C:\D\dmd2\windows\bin\..\..\src\phobos\std\complex.d(678): Error: struct
std.complex.Complex does not match any template declaration
C:\D\dmd2\windows\bin\..\..\src\phobos\std\complex.d(678): Error:
Complex!(real) is used as a type
[...]
---

The error occurs for different configurations of imports and triggers errors in
completely different locations. Does not occur using DMD 2.060.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 26 2012
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9210




PST ---
Just noticed that `b.d` is missing an `import a;`. This does not influence the
error, though. Note that there is absolutely no connection to the user's code,
so this is hard to track down.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 26 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9210




This is a compiler regression.
The issue occurs also with the combination 2.061alpha dmd + 2.060release
Phobos.

A dmd commit which the issue introduced is:
https://github.com/D-Programming-Language/dmd/commit/c34c5fb0e67f7c48bb683ef409378fde6db33088

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 26 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9210


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla digitalmars.com



21:15:25 PST ---
If there isn't an obvious fix, I suggest reverting that fix, reopening its
corresponding bug report, and add this example to the test suite.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 26 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9210


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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |diagnostic, pull




 If there isn't an obvious fix, I suggest reverting that fix, reopening its
 corresponding bug report, and add this example to the test suite.
I made an obvious fix. https://github.com/D-Programming-Language/dmd/pull/1412 This is a diagnostic bug. The fake errors were made by the incompletion of Phobos template instantiating. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 26 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9210




Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/446d11da15197117f6e2acd8853accd7c6d22b54
fix Issue 9210 - [2.061 beta] Import cycle causes unpredictable compile errors

https://github.com/D-Programming-Language/dmd/commit/4633b1336ba0aca1c260bcfd87fabb24f0d06692


Issue 9210 - [2.061 beta] Import cycle causes unpredictable compile errors

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 27 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9210


Walter Bright <bugzilla digitalmars.com> changed:

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


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 27 2012
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9210




Commit pushed to staging at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/094f8f7687ea21df4670efd33338e6c69478a019


Issue 9210 - [2.061 beta] Import cycle causes unpredictable compile errors

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