Compilation error for generic NSObject: Required init
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 48/100
Piste de recherche
Commencez avec le reproducteur générique NSObject fourni et exécutez-le à l’aide de l’environnement Swift 6.3.3 enregistré. Comparez son comportement avec celui de Xcode, en vous concentrant sur la raison pour laquelle Foundation.NSObject.init est considéré comme non requis. Le travail est terminé lorsque le reproducteur compile systématiquement comme attendu avec Xcode.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Commit hash: 0dd772b8fcae9efd5bda701f1a0be95f9deb2836
Context:
While testing swiftly's support of existing Swift code, noticed that a code using generic NSObject (or NSObject subclass) is not compiling. The same code is compiling just fine in Xcode, is it because Foundation library in Xcode treats NSObject as having a required init?
import Foundation
protocol Test: NSObject /* or an NSObject subclass */ { }
func test<T: Test>() -> T {
return T()
}
Results in the following compilation error:
.../Sample.swift:21:12: error: constructing an object of class type 'T' with a metatype value must use a 'required' initializer
19 |
20 | func test<T: Test>() -> T {
21 | return T()
| `- error: constructing an object of class type 'T' with a metatype value must use a 'required' initializer
22 | }
23 |
Foundation.NSObject.init:2:8: note: selected non-required initializer 'init()'
1 | class NSObject {
2 | public init()}
| `- note: selected non-required initializer 'init()'
Environment: Swift 6.3.3 on macOS.
$ swiftly run swift --version
Apple Swift version 6.3.3 (swift-6.3.3-RELEASE)
Target: arm64-apple-macosx26.0
$ uname -a
Darwin it-C01241 25.6.0 Darwin Kernel Version 25.6.0: Sat Jul 11 15:26:21 PDT 2026; root:xnu-12377.161.13~4/RELEASE_ARM64_T6000 arm64
- Langage dominant
- Swift
- Étoiles
- 1.3k
- Forks
- 127
- Merge moyen
- 2 j 14 h
- PR mergées (30 j)
- 5
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
-
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
-
Difficulté 4/5 3-5 jours Accessibilité débutants 54/100
swiftlang/swift-java#947 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de swiftlang/swift-java
Issues similaires
-
🎉 Add OmuType to Input MethodsOuverteaddition
Difficulté 1/5 Moins d'une heure Accessibilité débutants 83/100
jaywcjlove/awesome-mac#4259 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
VictorKildahl/cra#192 ·
Les mainteneurs répondent en général sous 1 jour
-
area:docs phase:release priority:p0 type:test
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
openwallet-foundation/multipaz#2161 ·
Les mainteneurs répondent en général sous 1 jour
-
[Type] Bug Accessibility Notifications
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
wordpress-mobile/WordPress-iOS#26340 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour