protocol Foo {
}
protocol Bar {
}
extension Foo {
static var foo: Foo { fatalError() }
}
extension Bar {
static var bar: Bar { fatalError() }
}
func foo<T: Foo>(_ foo: T) {}
func foo<T: Bar>(_ foo: T) {}
foo(./* only bar is shown in the autocomplete here */)