[Issue 20686] ICE with __traits and templated member function referenced in non-templated member function

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Mar 21 01:06:52 UTC 2020


https://issues.dlang.org/show_bug.cgi?id=20686

Simen Kjaeraas <simen.kjaras at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice
                 CC|                            |simen.kjaras at gmail.com
            Summary|type of tuple is lost?      |ICE with __traits and
                   |                            |templated member function
                   |                            |referenced in non-templated
                   |                            |member function

--- Comment #1 from Simen Kjaeraas <simen.kjaras at gmail.com> ---
By prodding the code a bit, I was able to get a compiler crash. I believe the
core issue is the same. Here's the simplified code:

struct S() {
    void fun() {
        gun("");
    }
    void gun(T)(T) {
        alias buggy = bug;
    }
}

alias X = S!();

void main() {
    X().gun(0);
}

alias bug =  __traits(getMember, X, "fun");

I've not been able to reduce it beyond this.

--


More information about the Digitalmars-d-bugs mailing list