Property in Protocol extension with a Self constraint can produce uncompilable bridge
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con el protocolo y la extensión restringida de la reproducción y, después, inspecciona la generación del puente de Swift que emite swiftjava_MySwiftLibrary_DownloadResponseSerializerProtocol_url$get. Confirma que el puente generado maneja la restricción Self == URLResponseSerializer sin producir el error del compilador indicado y valida la reproducción original con respecto al commit 5764bc2a1b706056121109dc0ab14fd3d771cbc5.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Reproduction
Found while running #486 on Alamofire. I think the gist of the issue is the following:
public protocol DownloadResponseSerializerProtocol {
associatedtype SerializedObject
}
public struct URLResponseSerializer: DownloadResponseSerializerProtocol {
public typealias SerializedObject = String
}
extension DownloadResponseSerializerProtocol where Self == URLResponseSerializer {
public var url: URLResponseSerializer { fatalError("...") }
}
this code as of 5764bc2a1b706056121109dc0ab14fd3d771cbc5 fails the Swift bridge compilation with:
error: property 'url' requires the types 'Self' and 'URLResponseSerializer' be equivalent
16 | @_cdecl("swiftjava_MySwiftLibrary_DownloadResponseSerializerProtocol_url$get")
17 | public func swiftjava_MySwiftLibrary_DownloadResponseSerializerProtocol_url$get(_ self: UnsafeRawPointer, _ _result: UnsafeMutableRawPointer) {
18 | _result.assumingMemoryBound(to: URLResponseSerializer.self).initialize(to: self.assumingMemoryBound(to: DownloadResponseSerializerProtocol.self).pointee.url)
| `- error: property 'url' requires the types 'Self' and 'URLResponseSerializer' be equivalent
- Lenguaje dominante
- Swift
- Estrellas
- 1.3k
- Forks
- 127
- Merge medio
- 2 d 14 h
- PR fusionados (30 d)
- 5
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de swiftlang/swift-java
-
wrap-java: Optional convenience methods can fail to compile when a parameter shadows the method nameAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
swiftlang/swift-java#945 ·
Los mantenedores suelen responder en 1 día
-
android
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
swiftlang/swift-java#663 · 4 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 56/100
swiftlang/swift-java#949 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
swiftlang/swift-java#948 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 54/100
swiftlang/swift-java#947 ·
Los mantenedores suelen responder en 1 día
Todos los issues de swiftlang/swift-java
Issues similares
-
follow-up needs-triage S3: minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
manaflow-ai/cmux#36856 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
appandflow/stim#5255 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
karansinghgit/speaktype#211 ·
-
Tests fail when the Mac isn't set to EnglishPosiblemente ocupada @zolferfigueiredo la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 3 días
-
area:shell order:3 status:ready type:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
krystianslowik/arkt#618 ·
Los mantenedores suelen responder en 1 día