dotnet/roslyn
View on GitHubIncorrect IDE0059 in a local function : Unnecessary assignment of a value
Open
#58,407 opened on Dec 18, 2021
Area-IDEBugFeature - IDE0059help wanted
Repository metrics
- Stars
- (20,414 stars)
- PR merge metrics
- (Avg merge 6d 17h) (256 merged PRs in 30d)
Description
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