dotnet / dotnet/csharpstandard

10.4.4.29 [definite assignment for] ?? expressions

Offen
#175 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
type: bug
Vorherrschende Sprache
C#
Sterne
815
Forks
99
Ø Merge
1 T. 14 Std.
Gemergte PRs (30 T.)
16

Beschreibung

The following test case should “pass” to match compilers:

``` cs
using System;
static class Program
{
    static void Main()
    {
        const string x = "pass";
        string y;
        string z = x ?? y;
        Console.WriteLine(z);
    }
}
```

However, this is not justified by the current language specification.  I recommend we modify the specification to allow this.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit dem bereitgestellten C#-Testfall und den aktuellen Regeln der Sprachspezifikation für definite assignment und ??-Ausdrücke. Vergleiche das spezifizierte Verhalten mit dem Verhalten des Compilers und ermittle anschließend die für das Beispiel erforderlichen Änderungen an der Spezifikation, damit es akzeptiert wird und erfolgreich ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
compilers
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.