[Issue 10736] Regression (2.064 git-head): Instantiation failure triggered by module import and module order

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Aug 6 22:03:38 PDT 2013


http://d.puremagic.com/issues/show_bug.cgi?id=10736



--- Comment #2 from github-bugzilla at puremagic.com 2013-08-06 22:03:37 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/f58e9b20ffb865b4256b4fed917d3e5afc1e914b
fix Issue 10736 - Regression (2.064 git-head): Instantiation failure triggered
by module import and module order

In the reduced test case, `test10736b` instantiates `chunks` template
function, then it instantiates `Chunks!(int[])`. The instance object will
be inserted to `test10736a` member because it is the first module that
importing `test10736c`. But in this time, `test10736a` module's semantic3
is already done, then `Chunks!(int[])` would immediately invoke its
semantic3, then `Chunks!(int[]).opSlice` refers *not yet instantiation
finished* `chunks` template.

To avoid the forward reference problem, we should defer semantic3 of
template instances which inserted to module scope.

https://github.com/D-Programming-Language/dmd/commit/314a1cca9ff56775b9e2a9cf81564135be0726b1
Merge pull request #2442 from 9rnsr/fix10736

[REG2.064a] fix Issue 10736 - Regression (2.064 git-head): Instantiation
failure triggered by module import and module order

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


More information about the Digitalmars-d-bugs mailing list