[HTTPClient] HTTPClient can not be used as an existential
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 50/100
Direzione di ricerca
Inizia ispezionando il protocollo HTTPClient e il suo requisito perform, quindi riproduci l'errore del compilatore con l'esempio WhateverAPI dell'issue. Determina se un valore any HTTPClient dovrebbe supportare questa chiamata e verifica che l'esempio venga compilato ed esegua la richiesta senza richiedere un tipo generico concreto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
This code fails to compile:
@available(macOS 26.2, *)
struct WhateverAPI {
let httpClient: any HTTPClient
func doWhatever() async throws -> String {
let request = HTTPRequest(method: .get, scheme: "https", authority: "www.example.com", path: "/foo")
try await self.httpClient.perform(
request: request,
body: nil,
configuration: .init(),
eventHandler: EventHandler()
) { response, reader in
}
}
}
Fails to compile:
http_client_library.swift:15:24: error: member 'perform' cannot be used on value of type 'any HTTPClient'; consider using a generic constraint instead [#ExistentialMemberAccess]
13 | let request = HTTPRequest(method: .get, scheme: "https", authority: "www.example.com", path: "/foo")
14 |
15 | try await self.httpClient.perform(
| `- error: member 'perform' cannot be used on value of type 'any HTTPClient'; consider using a generic constraint instead [#ExistentialMemberAccess]
16 | request: request,
17 | body: nil,
- Lingua principale
- Swift
- Stelle
- 70
- Fork
- 24
- Merge medio
- 9h 31m
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apple/swift-http-api-proposal
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
apple/swift-http-api-proposal#185 ·
-
Add `HTTPVersion` typeForse già presa @ehaydenr l’ha presa 59 giorni fa. Apertakind/feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apple/swift-http-api-proposal#180 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
apple/swift-http-api-proposal#186 · 3 commenti ·
-
http-server status/needs-design
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
apple/swift-http-api-proposal#182 · 1 commento ·
-
kind/feature
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
apple/swift-http-api-proposal#179 ·
Tutte le issue di apple/swift-http-api-proposal
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
521xueweihan/HelloGitHub#4101 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
element-hq/element-x-ios#6405 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
apple/coreai-models#380 ·
I maintainer di solito rispondono entro 1 giorno
-
Bug 🐞
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
mozilla-mobile/firefox-ios#36278 ·
I maintainer di solito rispondono entro 1 giorno
-
product / auth product / console product / sites product / storage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno