Is it possible to return some [T] ?
protocol P {
associatedtype X
func method() -> [X]
}
class Imp: P {
typealias X = Int
func method() -> some [Int] {
return [1]
}
}
Code above produces error "An 'opaque' type must specify only 'Any', 'AnyObject', protocols, and/or a base class"
EDIT:
So protocol hides underlying @NSMangedObject and expose only needed properties. It would be nice if A, B have Comparable capabilities.
This isn't possible, but that's because it doesn't mean anything.
some Tmeans "a specific, concrete type that conforms to T, known by the returning function at compile time, but not known by the caller."[Int]is a type known to the caller. There is nothing "opaque" about it. This is identical to: