// ModuleC public func show<S: Sequence>(_ sequence: S) where S.Element: AdditiveArithmetic { for x in sequence { print(x) } }
import ModuleA import ModuleC func useA(for x: Int) { x.foo() show(x) }
import ModuleB import ModuleC func useB(for x: Int) { x.foo() show(x) }
// main.swift import ModuleA import ModuleB useA(for: 65534) useB(for: 65534)
↑、 main の import
書く順によってどっちが呼び出されるか変わる