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

贡献者指南