dotnet / roslyn

The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/
MIT License
18.95k stars 4.02k forks source link

Compiler does not warn on unused locals on joined assignments #23322

Open ivanbasov opened 6 years ago

ivanbasov commented 6 years ago

Code example

class C
{
    int M()
    {
        int a = 0;
        int b = 0;
        a = b = 0;
        return b;
    }
}

Expected Provides a diagnostic that 'a' is unused

Actual No diagnostics

roslyn-analyzers uses compiler warnings as a source of unused locals diagnostics

jcouv commented 6 years ago

Linking to warning waves issue (https://github.com/dotnet/roslyn/issues/1580)