December 28, 2016
https://issues.dlang.org/show_bug.cgi?id=16590

Jacob Jensen <jj_1337@live.dk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jj_1337@live.dk

--- Comment #9 from Jacob Jensen <jj_1337@live.dk> ---
Voted this up with 20 votes as I see this as pretty important to be fixed as people can depend on large interface file generation and if you have to manually fix a lot of places like this then it's a lot of work that has to be put into it.

The compiler should be able to do this by default.

--
December 28, 2016
https://issues.dlang.org/show_bug.cgi?id=16590

Chris Wright <dhasenan@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dhasenan@gmail.com

--- Comment #10 from Chris Wright <dhasenan@gmail.com> ---
dmd's json output suffers from the same problems.

--
December 28, 2016
https://issues.dlang.org/show_bug.cgi?id=16590

--- Comment #11 from Chris Wright <dhasenan@gmail.com> ---
https://github.com/dlang/dmd/pull/6382 addresses by including function bodies.

The causes for the header and json issues are separate, and with json output, you can at least construct the mangled version and demangle to get the necessary information.

It's suboptimal to include function bodies for these functions in general. With voldemort types, it's required; however, in all other cases, the compiler could identify the actual type in use and report that. That can be handled by moving header generation to follow semantic3 (currently it's just after parsing). However, that would require filtering out certain symbols that are added during semantic (for instance, __xdtor and a set of anonymous RTInfo!(type) fields).

--
January 04, 2017
https://issues.dlang.org/show_bug.cgi?id=16590

Andrei Alexandrescu <andrei@erdani.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

--
January 13, 2017
https://issues.dlang.org/show_bug.cgi?id=16590

--- Comment #12 from github-bugzilla@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/e7b284d15e477483e4367206d52945af18a770c0 Fix Issue 16590 - Wrong di generation for ref methods

https://github.com/dlang/dmd/commit/a33059019b532cc1b457f8ce0335e1ebe7dddfbc Merge pull request #6423 from RazvanN7/Issue_16590

Fix Issue 16590 - wrong di generation for -H flag

--
January 13, 2017
https://issues.dlang.org/show_bug.cgi?id=16590

github-bugzilla@puremagic.com changed:

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

--
January 16, 2017
https://issues.dlang.org/show_bug.cgi?id=16590

--- Comment #13 from github-bugzilla@puremagic.com ---
Commits pushed to newCTFE at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/e7b284d15e477483e4367206d52945af18a770c0 Fix Issue 16590 - Wrong di generation for ref methods

https://github.com/dlang/dmd/commit/a33059019b532cc1b457f8ce0335e1ebe7dddfbc Merge pull request #6423 from RazvanN7/Issue_16590

--
February 24, 2017
https://issues.dlang.org/show_bug.cgi?id=16590

Satoshi <satoshi@rikarin.org> changed:

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

--- Comment #14 from Satoshi <satoshi@rikarin.org> ---
I found more bugs.

return attribute is generated as prefix, but it's not valid for compiler.
generated:
ref return rename()() {...}

should be:
ref rename()() return { ... }


next bug:
generated:
if (a < 2 | b > 7)

should be:
if ((a < 2) | (b > 7))

--
February 24, 2017
https://issues.dlang.org/show_bug.cgi?id=16590

--- Comment #15 from Satoshi <satoshi@rikarin.org> ---
() @trusted {


}();


is generated as:
() {

}();

--
February 28, 2017
https://issues.dlang.org/show_bug.cgi?id=16590

--- Comment #16 from Satoshi <satoshi@rikarin.org> ---
alias foo = (a, b) => less(b, a);

is rewritten asi:

alias foo = (__T42, __T43)(a, b) {
    return less(b, a);
}

Variable types are missing

--