这是一些swift3代码的简化形式:
class GenericListViewModel<CellViewModel> {
let cells: [CellViewModel]
required init(cells: [CellViewModel]) {
self.cells = cells
}
}
class ViewController<CellViewModel, ListViewModel: GenericListViewModel<CellViewModel>> {
var viewModel: ListViewModel
init(cellViewModels: [CellViewModel]) {
viewModel = ListViewModel(cells: cellViewModels)
}
}
编译器因以下错误而崩溃:
- 发出红外线功能@ _TFC4Xxxx14ViewControllercfT14cellViewModelsGSax__GS0_xq__,用于&#39; init&#39; 在/.../ GenericStuff.swift:22:5
醇>
我遗漏了什么,或者这是一个Swift编译器错误?
修改:
我在这里报告了https://bugs.swift.org/browse/SR-3315,看起来它已经在当前的swift master分支中修复了。