mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
All but 7 tests now passing. Those 7 tests either do not refer to these circumstances or do not seem to pass even when modified to accept type specifications.
45 lines
1.5 KiB
Swift
45 lines
1.5 KiB
Swift
// RUN: %empty-directory(%t)
|
|
// RUN: split-file %s %t
|
|
|
|
/// Compile the exact same source file into 2 different modules.
|
|
// RUN: %target-swift-frontend -emit-module -o %t/A.swiftmodule %t/Lib.swift \
|
|
// RUN: -emit-module-source-info -module-name A -package-name pkg \
|
|
// RUN: -enable-testing
|
|
// RUN: %target-swift-frontend -emit-module -o %t/B.swiftmodule %t/Lib.swift \
|
|
// RUN: -emit-module-source-info -module-name B -package-name pkg \
|
|
// RUN: -enable-testing
|
|
|
|
// Build a client importing both modules and hitting the ambiguities.
|
|
// RUN: not %target-swift-frontend -typecheck -I %t %t/Client.swift -package-name pkg 2> %t/out
|
|
// RUN: cat %t/out | %FileCheck %s
|
|
|
|
//--- Lib.swift
|
|
public func publicAmbiguity() {}
|
|
package func packageAmbiguity() {}
|
|
internal func internalAmbiguity() {}
|
|
|
|
//--- Client.swift
|
|
@testable import A
|
|
@testable import B
|
|
|
|
func foo() {
|
|
publicAmbiguity()
|
|
// CHECK: error: ambiguous use of 'publicAmbiguity()'
|
|
// CHECK: publicAmbiguity()
|
|
// CHECK: note: found candidate with type '() -> ()' in module 'A'
|
|
// CHECK: public func publicAmbiguity() {}
|
|
// CHECK: note: found candidate with type '() -> ()' in module 'B'
|
|
// CHECK: public func publicAmbiguity() {}
|
|
|
|
packageAmbiguity()
|
|
// CHECK: error: ambiguous use of 'packageAmbiguity()'
|
|
// CHECK-NEXT: packageAmbiguity()
|
|
// CHECK: package func packageAmbiguity() {}
|
|
// CHECK: package func packageAmbiguity() {}
|
|
|
|
internalAmbiguity()
|
|
// CHECK: error: ambiguous use of 'internalAmbiguity()'
|
|
// CHECK-NEXT: internalAmbiguity()
|
|
// CHECK: internal func internalAmbiguity() {}
|
|
}
|