Bug 21522 – function gets lost when aliasing an overloaded function template
Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2021-01-03T05:46:54Z
Last change time
2021-01-04T04:39:13Z
Keywords
pull
Assigned to
No Owner
Creator
Boris Carvajal
Comments
Comment #0 by boris2.9 — 2021-01-03T05:46:54Z
test.d:
-------------------
void funA2()(int a) {}
void funA2(char a) {} // this function get lost
alias funA = funA2;
void funA(float b) {}
static assert(__traits(getOverloads, test, "funA", true).length == 3);
-------------------
Result:
Error: static assert: `2LU == 3LU` is false
Note: stable shows "`0LU == 3LU` is false" due to issue 20821
Comment #1 by dlang-bot — 2021-01-03T06:09:38Z
@BorisCarvajal created dlang/dmd pull request #12091 "Fix Issue 21522 - function get lost when aliasing an overloaded funct…" fixing this issue:
- Fix Issue 21522 - function get lost when aliasing an overloaded function template
https://github.com/dlang/dmd/pull/12091
Comment #2 by dlang-bot — 2021-01-04T04:39:13Z
dlang/dmd pull request #12091 "Fix Issue 21522 - function gets lost when aliasing an overloaded funct…" was merged into master:
- 6299cc5a95e5fa4a4476710911672c2aed372f41 by Boris Carvajal:
Fix Issue 21522 - function get lost when aliasing an overloaded function template
https://github.com/dlang/dmd/pull/12091