dotnet/roslyn
"Redundant assignment" analysis does not consider recursive code path
Aberta
#47.655 aberto em 12 de set. de 2020
Area-IDEBughelp wanted
Métricas do repositório
- Stars
- (20.414 estrelas)
- Métricas de merge de PR
- (Mesclagem média 6d 17h) (256 fundiu PRs em 30d)
Description
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.