www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 21612] New: [REG]Incorrect conflict of function overloads

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. --
Feb 05 2021