/// module ModuleA:
struct Foo {}
/// module ModuleB:
struct Foo {}
/// module C:
import A
import B
/// From this point, any use of Foo type must be qualified
protocol Fruit {
associatedtype T
func bar() -> T
}
struct Apple : Fruit {
typealias T = ModuleB.Foo
/// Use code completion for `func bar` here in Xcode...
/// Completion result, unqualified
func bar() -> Foo
/// Diagnostics keep saying 'cannot match `() -> Foo` with `() -> Foo`' and 'does not conform to protocol Fruit'
}
I would expect code completion to use the qualified name since 1. typealias declaration is already qualified by the programmer 2. `Foo` must be qualified
Additional Detail from JIRA
| | | |------------------|-----------------| |Votes | 0 | |Component/s | CodeCompletion | |Labels | Improvement | |Assignee | None | |Priority | Medium | md5: 403e74e4b6c440616789b7924617f04eIssue Description:
I would expect code completion to use the qualified name since 1. typealias declaration is already qualified by the programmer 2. `Foo` must be qualified