可以使用鲜为人知的
import (class|struct|func|protocol|enum) Module.Symbol语法消除类型的歧义。
import struct BTree.OrderedSet
从这一点开始,OrderedSet明确引用了BTree中的那个。
如果在某些文件中这仍然是模棱两可或次优的,则可以创建一个Swift文件来使用类型别名重命名导入:
// a.swiftimport struct BTree.OrderedSettypealias BTreeOrderedSet<T> = BTree.OrderedSet<T>// b.swiftlet foo = OrderedSet<Int>() // from Foundationlet bar = BTreeOrderedSet<Int>() // from BTree
Swift 3讨论了一种新语法,但失败了。



