dotnet/roslyn

"Unassigned local" error for reference to "out var" in lambda with error parameter

Open

#17 225 ouverte le 17 févr. 2017

Voir sur GitHub
 (2 commentaires) (0 réactions) (0 assignés)C# (4 257 forks)batch import
Area-CompilersBugConcept-Diagnostic Clarityhelp wanted

Métriques du dépôt

Stars
 (20 414 stars)
Métriques de merge PR
 (Merge moyen 6j 17h) (256 PRs mergées en 30 j)

Description

Reports CS0165 for z > 0:

using System;
class C
{
    static void Main()
    {
        G((x, y) => y > 0 && F(out var z) && z > 0);
    }
    static bool F(out int i)
    {
        i = 0;
        return true;
    }
    static void G(Func<int, bool> f, object o) { }
    static void G(Func<int, bool> f, object x, object y) { }
}
(6,9): error CS1501: No overload for method 'G' takes 1 arguments
(6,46): error CS0165: Use of unassigned local variable 'z'

Guide contributeur