Swift:如何比较两个Dictionary <String,Any>结构体?

我正在使用在Swift中编写的使用typealias Context = [String: Any]来存储行的附加信息的Static框架。

现在,我需要比较两个Context结构在extension Row是否相等:

 public func ==(lhs: Row, rhs: Row) -> Bool { // TODO: image, ... return lhs.text == rhs.text && lhs.detailText == rhs.detailText && lhs.accessory == rhs.accessory && lhs.context == rhs.context } 

所以我实现了Row.Context==运算符:

 public func ==(lhs: Row.Context, rhs: Row.Context) -> Bool { return Array(lhs.keys) == Array(rhs.keys) // TODO: && Array(lhs.values) == Array(rhs.values) } 

但现在,为了lhs.context == rhs.context我需要扩展Row.Contexttypes以符合Equatable

 extension Row.Context: Equatable {} 

这正是我坚持以下错误的地方:

“约束扩展必须在非特定genericstypes”Dictionary“上声明,约束由”where“子句指定”

错误 - 扩展Row.Context:Equatable

现在忽略对Row.Context的执行func == 如何使Row.Context符合Equatable