`[.]Type` completion for `(any P).` shows it will produce an existential metatype

Aperta
#65,843 32 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
swift
Ambito
tooling

Direzione di ricerca

Inizia con il caso di completamento del codice batch swift-ide-test fornito e confronta il suo output attuale con l'aspettativa di FileCheck per (any P).Type. Il lavoro è completato quando l'output del completamento identifica il risultato come il metatipo singleton (any P).Type, anziché il metatipo esistenziale any P.Type.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug code completion existentials good first issue IDE support metatypes swift 5.9 types unexpected behavior

Test case:

// RUN: %empty-directory(%t)
// RUN: %target-swift-ide-test -batch-code-completion -source-filename %s -filecheck %raw-FileCheck -completion-output-dir %t
protocol P {}

(any P).#^COMPLETE?check=META^# 
// META: Keyword/CurrNominal:  Type[#(any P).Type#]; name=Type

This test will fail, because the current completion is Type[#any P.Type#]; name=Type. Notice how it thinks the completion will produce an existential metatype any P.Type, whereas the actual result is the singleton metatype (any P).Type.

Note
any syntax was proposed in SE-0335.

Environment

  • Swift 5.9-dev (c1d5118c21da49a9c2194734cbf9b6970bc63056)
Lingua principale
Swift
Stelle
70.4k
Fork
10.8k
Merge medio
2g 2h
PR unite (30g)
461

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di swiftlang/swift

Tutte le issue di swiftlang/swift

Issue simili

Altre issue su Swift

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.