mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
35 lines
1.3 KiB
Swift
35 lines
1.3 KiB
Swift
// RUN: rm -rf %t
|
|
// RUN: split-file %s %t
|
|
// RUN: not %target-swift-frontend -typecheck -I %t/Inputs %t/test.swift -enable-experimental-cxx-interop -module-name SwiftTest 2>&1 | %FileCheck %s
|
|
|
|
//--- Inputs/module.modulemap
|
|
module Test {
|
|
header "test.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
//--- Inputs/test.h
|
|
|
|
struct __attribute__((swift_attr("conforms_to:X"))) CInv {};
|
|
struct __attribute__((swift_attr("conforms_to:Mod.X"))) CModInv {};
|
|
struct __attribute__((swift_attr("conforms_to:SwiftTest.X"))) CX {};
|
|
struct __attribute__((swift_attr("conforms_to:SwiftTest.A"))) CA {};
|
|
struct __attribute__((swift_attr("conforms_to:SwiftTest.B"))) CB {};
|
|
|
|
//--- test.swift
|
|
|
|
import Test
|
|
|
|
struct B {}
|
|
|
|
protocol A {}
|
|
protocol A {}
|
|
|
|
// CHECK: error: expected module name and protocol name separated by '.' in protocol conformance; 'X' is invalid
|
|
// CHECK: module 'Mod' in specified protocol conformance 'Mod.X' is not found; did you mean to import it first?
|
|
// CHECK: error: protocol 'X' in specified protocol conformance is not found in module 'SwiftTest'
|
|
// CHECK: error: ambiguous reference to protocol 'A' in specified protocol conformance; module 'SwiftTest' contains multiple protocols named 'A'
|
|
// CHECK: error: struct 'B' referenced in protocol conformance 'SwiftTest.B' is not a protocol
|
|
|
|
func test(_ inv: CInv, _ invMod: CModInv, _ x: CX, _ a: CA, _ b: CB) {}
|