microsoft / microsoft/vscode-cpptools

C23 auto type inference support

Offen
#11,269 4 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement Language Service parser Visual Studio
Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beschreibung

C standard is set to c23 in extension settings.

In C23 standard the auto keyword allows type inference doing pretty much the same job as __auto_type GNU extension. The latter is supported by your extension and if I hover my mouse over declared variable I see that the type is infered correctly.
image

But if I change __auto_type to auto an error is yield:
image
This code compiles and works correctly with -std=c2x flag.

Since __auto_type is already supported, can auto behave the same way if C standard parameter is set to c23?

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das Problem mit der C-Standard-Einstellung c23, indem du die Deklarationen auto und __auto_type sowie deren Hover-Ergebnisse mit einem Build vergleichst, der -std=c2x verwendet. Erledigt ist die Aufgabe, wenn die Erweiterung C23-auto akzeptiert, keinen falschen Fehler meldet und den Typ der deklarierten Variable korrekt ableitet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, vscode
Bereich
tooling
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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