dotnet/roslyn

Incorrect IDE0059 in a local function : Unnecessary assignment of a value

開放

#58,407 建立於 2021年12月18日

 (1 則留言) (1 個反應) (0 位負責人)C# (4,257 個分叉)batch import
Area-IDEBugFeature - IDE0059help wanted

倉庫指標

星標
 (20,414 顆星)
PR 合併指標
 (平均合併 6天 17小時) (30 天內合併 256 個 PR)

描述

Version Used: dotnet 6.0.100 can also repro on master 9f8250964a72d53efe2d04fc0b2b07a48f04a45c via SharpLab (main Roslyn branch)

Steps to Reproduce:

public class C {
    public int M() {
        int i = 0;
        int Recurse()
        {
            if(i > 10) return i;
            i += 1;
            var a = Recurse();
            i += 1;
            var b = Recurse();
            i += 1;  // <<<<<<<<<<< IDE0059 ON THIS LINE
            return a + b;
        }
        return Recurse();
    }
}

Expected Behavior: No IDE0059 Actual Behavior: IDE0059 suggesting the line should be removed. Calling the function before removing the line returns 253 Calling the function after removing the line returns 198

貢獻者指南