⛔cannot assign value of type 'T' to type 'T'
⭐ 注意:
下面的 init 不能寫成 init<T>,不然會引進「新的型別參數 T」(是的,跟「舊的型別參數 T」名字一模一樣),然後產生「令人傻眼的錯誤訊息」🙄:
⛔ cannot assign value of type 'T' to type 'T'// non-nominal type wrapper
struct NonnominalType<T> {
let subject: T
}
extension NonnominalType {
// ⭐ 注意:這裡不能寫成 `init<T>`
// 不然會引進「新的型別參數 `T`」(是的,跟「舊的型別參數 `T`」
// 名字一模一樣),然後產生「令人傻眼的錯誤訊息」:
// 「⛔ cannot assign value of type 'T' to type 'T'」
init(_ subject: T){
self.subject = subject
}
}tuple - non-nominal type
Last updated
Was this helpful?