dotnet/roslyn

Spurious use of unassigned variable error with unimplemented partial

Aberta

#45.875 aberto em 10 de jul. de 2020

 (1 comentário) (0 reação) (0 responsável)C# (4.257 forks)batch import
Area-CompilersBugConcept-Diagnostic Clarityhelp 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

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.

Guia do colaborador