digitalmars.D.bugs - [Issue 10736] New: Regression (2.064 git-head): Instantiation failure triggered by module import and module order
- d-bugmail puremagic.com (46/48) Jul 31 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10736
- d-bugmail puremagic.com (10/10) Aug 01 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10736
- d-bugmail puremagic.com (22/22) Aug 06 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10736
- d-bugmail puremagic.com (9/9) Aug 06 2013 http://d.puremagic.com/issues/show_bug.cgi?id=10736
http://d.puremagic.com/issues/show_bug.cgi?id=10736 Summary: Regression (2.064 git-head): Instantiation failure triggered by module import and module order Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: regression Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: andrej.mitrovich gmail.com 13:16:15 PDT --- Three files: foo\all.d: ----- module foo.all; import foo.array; import foo.range; ----- foo\array.d: ----- module foo.array; import std.range; ----- foo\range.d: ----- module foo.range; import std.range; void main() { int[] arr = [0, 1, 2, 3]; auto x = chunks(arr, 4); // error } ----- Compile (in this exact order): $ dmd foo\all.d foo\array.d foo\range.dC:\dmd-git\dmd2\windows\bin\..\..\src\phobos\std\range.d(6543): Error: template std.range.chunks does not match any function template declaration.If you remove the import to `std.range` inside of `foo.array`, it will compile. $ dmd foo\all.d foo\array.d foo\range.dIf you instead change the compilation order so 'foo\range.d' is compiled first, then it will also compile: $ foo\range.d dmd foo\all.d foo\array.d-- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 31 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10736 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |pull, rejects-valid https://github.com/D-Programming-Language/dmd/pull/2442 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 01 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10736 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 [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: -------
Aug 06 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10736 Kenji Hara <k.hara.pg gmail.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: -------
Aug 06 2013