February 06, 2021
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: nobody@puremagic.com
          Reporter: zan77137@nifty.com

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.

--