符合在Swift中指定为泛型类型约束的协议(或基类)

时间:2017-09-04 16:26:32

标签: swift generics

考虑这个(无效的)Swift函数签名。

func f<T, P>(type: T.Type, as alias: P.Type) where T: P

这不编译。是否有任何方法可以实现事先未知的协议或基类的一致性,例如,

f(type: Bool.self, as: CustomStringConvertible.self)

在这种情况下,第一个类型T必须符合第二个类型P

我认为现在不可能,但我很想确认。

解决方法是在运行时执行一致性检查。

0 个答案:

没有答案