Protocols with default methods in extension fail to compile
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
Piste de recherche
Commencez par la phase d’analyse et la génération d’interfaces extraites décrites dans l’issue, puis reproduisez l’exemple de protocol et d’extension. Suivez la manière dont les exigences du protocol sont distinguées des déclarations dans les extensions ; c’est terminé lorsque l’exemple se compile sans traiter la méthode d’extension comme une exigence d’interface abstraite, les déclarations d’extension étant représentées conformément au comportement par défaut prévu des méthodes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
If you have a protocol which has a default method implemented in an extension, the generated code will fail to compile because the Java compiler will complain about the extracted interface "is not abstract and does not override abstract method".
Consider the following
protocol MyProtocol {}
extension MyProtocol {
public func myDefaultMethod() {}
}
will fail with:
error: MyProtocol is not abstract and does not override abstract method myDefaultMethod() in MyProtocol
Instead we should not generate any methods, variables and initializers defined in extensions as part of the extracted interface. But we could generate them as default methods instead. This means we need to change the analysis phase to know what decls are defined in an extension and which come from the protocol requirements themselves.
- Langage dominant
- Swift
- Étoiles
- 1.3k
- Forks
- 127
- Merge moyen
- 1 h 6 min
- PR mergées (30 j)
- 3
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de swiftlang/swift-java
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
swiftlang/swift-java#955 ·
Les mainteneurs répondent en général sous 1 jour
-
wrap-java: Optional convenience methods can fail to compile when a parameter shadows the method nameOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
swiftlang/swift-java#945 ·
Les mainteneurs répondent en général sous 1 jour
-
android
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
swiftlang/swift-java#663 · 4 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 56/100
swiftlang/swift-java#949 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
swiftlang/swift-java#948 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de swiftlang/swift-java
Issues similaires
-
feat: 앱 정보에 개인정보처리방침과 고객지원 연결Peut-être pris @xrpjwk8 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
DeveloperAcademy-POSTECH/2026-C6-A13-Hear-I-am#120 ·
Les mainteneurs répondent en général sous 1 jour
-
[投稿] SSE 接收的三层检查:字节、事件与响应终态Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
jaywcjlove/quick-rss#448 ·
-
Edit Space… → Save overwrites an imported space's SF Symbol icon with 🌱 and stacks both glyphsOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
VictorKildahl/cra#205 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: Intermittent failure in PathUtilsTests.testNewDirectoryIsExcludedAndExistingChoiceIsKeptOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
apple/container#2474 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Mac proof: carets blink and the inspector's thread lands in different places from run to runOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
AttilaTheFun/visor#244 ·
Les mainteneurs répondent en général sous 1 jour