Compilation error for generic NSObject: Required init
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
提供された汎用 NSObject 再現コードから始め、記録された Swift 6.3.3 環境を使って実行します。Xcode での動作と比較し、Foundation.NSObject.init がなぜ非必須として扱われるのかに焦点を当てます。再現コードが想定される Xcode の動作と一貫してコンパイルできれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- Swift
- スター
- 1.3k
- フォーク
- 127
- 平均マージ
- 2日 14時間
- マージ済み PR(30日)
- 5
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
swiftlang/swift-java のほかの issue
-
wrap-java: Optional convenience methods can fail to compile when a parameter shadows the method nameオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
swiftlang/swift-java#945 ·
メンテナーはふだん 1 日以内に返信
-
android
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
swiftlang/swift-java#663 · コメント 4 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 56/100
swiftlang/swift-java#949 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
swiftlang/swift-java#948 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 54/100
swiftlang/swift-java#947 ·
メンテナーはふだん 1 日以内に返信
swiftlang/swift-java の issue をすべて見る
似ている issue
-
area:docs phase:release priority:p0 type:test
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
enhancement impact:U1 P3 reach:R2 size:S
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
Follow-ups: #35163 Agent chat: a sent prompt glides into place from the bottom and from an up-scrollオープンarea: agents follow-up
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
manaflow-ai/cmux#35868 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
mozilla-mobile/firefox-ios#36439 ·
メンテナーはふだん 1 日以内に返信