Swift 4 (BETA) 合并字典无法推断参数类型

Swift 4 (BETA) merge dictionaries unable to infer type of parameter

我在 header 中使用 Apple 文档中的确切示例代码,但出现此错误:无法推断通用参数 'S'这是在 Swift 4 BETA WWDC 版本中。

var dictionary = ["a": 1, "b": 2]

dictionary.merge(["a": 3, "c": 4])
       { (current, _) in current }
 // ["b": 2, "a": 1, "c": 4]

 // Taking the new value for key "a":
dictionary.merge(["a": 5, "d": 6])
       { (_, new) in new }
 // ["b": 2, "a": 5, "c": 4, "d": 6]

我尝试将字典分配给变量并对类型进行硬编码,但我仍然遇到同样的错误。还有其他人能够让这个工作吗?

感谢非常敏感的 Swift 开发人员,我在追踪到错误后立即找到了解决方法。 https://bugs.swift.org/browse/SR-4969

var dictionary = ["a": 1, "b": 2]

dictionary.merge(["a": 3, "c": 4].lazy.map { ([=10=].key, [=10=].value) }) { (current, _) in current }
// ["b": 2, "a": 1, "c": 4]

// Taking the new value for key "a":
dictionary.merge(["a": 5, "d": 6].lazy.map { ([=10=].key, [=10=].value) }) { (_, new) in new }
// ["b": 2, "a": 5, "c": 4, "d": 6]