https://issues.dlang.org/show_bug.cgi?id=21612
Issue ID: 21612
Summary: [REG]Incorrect conflict of function overloads
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: regression
Priority: P1
Component: dmd
Assignee: [email protected]
Reporter: [email protected]
I encountered a strange compile error when trying to build Botan.
https://github.com/shoo/Cookbook/runs/1816118185?check_suite_focus=true#step:4:93
I performed minimization with dustmite and obtained the following results:
-----------------
struct BigInt
{
void opAssign(const BigInt ) {
}
void opAssign(BigInt other) const {
}
}
-----------------
And exec:
-----------------
> dmd bigint.d
function `bigint.BigInt.opAssign(BigInt other)` conflicts with previous
declaration at bigint.d(3)
-----------------
This does not happen in dmd 2.094.2.
However, with 2.095.0, it seems to occur on both Windows and Linux.
Strangely enough, this did not occur with the online compiler.
It seems to occur even with dmd master at the moment.
--