dotnet/roslyn

Spurious use of unassigned variable error with unimplemented partial

Open

#45,875 opened on Jul 10, 2020

View on GitHub
 (1 comment) (0 reactions) (0 assignees)C# (20,414 stars) (4,257 forks)batch import
Area-CompilersBugConcept-Diagnostic Clarityhelp wanted

Description

public partial class C {
    public partial string M1(string dummyParam, out bool i); // error CS8795: Partial method 'C.M1(string, out bool)' must have an implementation part because it has accessibility modifiers.
    
    public void M2(C c)
    {
        c.M1(null, out bool i);
        _ = i.ToString(); // error CS0165: Use of unassigned local variable 'i'
    }
}

Since this partial method must have an implementation (and we already error on it), we could suppress the error on the use of the unassigned variable.

Contributor guide

Spurious use of unassigned variable error with unimplemented partial · dotnet/roslyn#45875 | Good First Issue