D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 19295 - ICE when taking address of member function passed as template parameter
Summary: ICE when taking address of member function passed as template parameter
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: All All
: P1 regression
Assignee: No Owner
URL:
Keywords: ice
Depends on:
Blocks:
 
Reported: 2018-10-09 11:05 UTC by Simen Kjaeraas
Modified: 2020-03-21 03:56 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Simen Kjaeraas 2018-10-09 11:05:35 UTC
The below code causes DMD to go tits up:

struct S1(T...) {
    auto fun() {
        pragma(msg, &T[0]);
    }
}

struct S2 {
    void gun();
    S1!gun overloaded;
}
Comment 1 Dlang Bot 2019-07-02 13:49:21 UTC
@Basile-z created dlang/dmd pull request #10123 "fix issue 19295 - ICE when taking address of member function passed as template parameter" fixing this issue:

- fix issue 19295 - ICE when taking address of member function passed as template parameter

https://github.com/dlang/dmd/pull/10123
Comment 2 basile-z 2019-07-02 13:53:46 UTC
This was even a very old reg (2.064)
Comment 3 Dlang Bot 2019-07-03 00:29:08 UTC
dlang/dmd pull request #10123 "fix issue 19295 - ICE when taking address of member function passed as template parameter" was merged into stable:

- 5384aeeaf3f39c05ec4cebd0e42e0bac090153a4 by Basile Burg:
  fix issue 19295 - ICE when taking address of member function passed as template parameter

https://github.com/dlang/dmd/pull/10123