dotnet/roslyn
"Redundant assignment" analysis does not consider recursive code path
Aperta
#47.655 aperta il 12 set 2020
Area-IDEBughelp wanted
Metriche repository
- Star
- (20.414 stelle)
- Metriche merge PR
- (Merge medio 6g 17h) (256 PR mergiate in 30 g)
Descrizione
Version Used: VS 2019 16.7.3
Steps to Reproduce:
- Create new .NET Core console app.
- Paste the following code.
static void Foo(Exception ex)
{
var indentLevel = 0;
void Bar(Exception e)
{
indentLevel++;
if (indentLevel < 5)
Bar(e);
indentLevel--;
}
Bar(ex);
}
Expected Behavior: No analysis complaints
Actual Behavior:
VS claims that indentLevel-- is a redundant assignment.
This is true for the top level call to Bar but not true for the recursive calls that reference the same indentLevel variable.