|
| 1 | +// RUN: %target-swift-frontend -typecheck %s -debug-generic-signatures -requirement-machine-inferred-signatures=on 2>&1 | %FileCheck %s |
| 2 | + |
| 3 | +// CHECK-LABEL: split_concrete_equivalence_class.(file).f01@ |
| 4 | +// CHECK-NEXT: Generic signature: <C, R where C : Collection, R : Collection, C.[Collection]SubSequence == Substring, R.[Sequence]Element == Character> |
| 5 | +func f01<C : Collection, R : Collection>(_: C, _: R) where C.SubSequence == Substring, C.Element == R.Element {} |
| 6 | + |
| 7 | +// CHECK-LABEL: split_concrete_equivalence_class.(file).f02@ |
| 8 | +// CHECK-NEXT: Generic signature: <C, R where C : Collection, R : Collection, C.[Sequence]Element == Character, R.[Collection]SubSequence == Substring> |
| 9 | +func f02<C : Collection, R : Collection>(_: C, _: R) where R.SubSequence == Substring, C.Element == R.Element {} |
| 10 | + |
| 11 | +// CHECK-LABEL: split_concrete_equivalence_class.(file).f03@ |
| 12 | +// CHECK-NEXT: Generic signature: <C, R where C : Collection, R : Collection, C.[Collection]SubSequence == Substring, R.[Sequence]Element == Character> |
| 13 | +func f03<C : Collection, R : Collection>(_: C, _: R) where C.SubSequence == Substring, C.Element == R.Element, C.Element == Character {} |
| 14 | + |
| 15 | +// CHECK-LABEL: split_concrete_equivalence_class.(file).f04@ |
| 16 | +// CHECK-NEXT: Generic signature: <C, R where C : Collection, R : Collection, C.[Sequence]Element == Character, R.[Collection]SubSequence == Substring> |
| 17 | +func f04<C : Collection, R : Collection>(_: C, _: R) where R.SubSequence == Substring, C.Element == R.Element, C.Element == Character {} |
| 18 | + |
| 19 | +// CHECK-LABEL: split_concrete_equivalence_class.(file).f05@ |
| 20 | +// CHECK-NEXT: Generic signature: <C, R where C : Collection, R : Collection, C.[Collection]SubSequence == Substring, R.[Sequence]Element == Character> |
| 21 | +func f05<C : Collection, R : Collection>(_: C, _: R) where C.SubSequence == Substring, C.Element == R.Element, R.Element == Character {} |
| 22 | + |
| 23 | +// CHECK-LABEL: split_concrete_equivalence_class.(file).f06@ |
| 24 | +// CHECK-NEXT: Generic signature: <C, R where C : Collection, R : Collection, C.[Sequence]Element == Character, R.[Collection]SubSequence == Substring> |
| 25 | +func f06<C : Collection, R : Collection>(_: C, _: R) where R.SubSequence == Substring, C.Element == R.Element, R.Element == Character {} |
| 26 | + |
| 27 | +// CHECK-LABEL: split_concrete_equivalence_class.(file).f07@ |
| 28 | +// CHECK-NEXT: Generic signature: <C, R where C : Collection, R : Collection, C.[Collection]SubSequence == Substring, R.[Collection]SubSequence == Substring> |
| 29 | +func f07<C : Collection, R : Collection>(_: C, _: R) where C.SubSequence == Substring, R.SubSequence == Substring, C.Element == R.Element {} |
| 30 | + |
| 31 | +// CHECK-LABEL: split_concrete_equivalence_class.(file).f08@ |
| 32 | +// CHECK-NEXT: Generic signature: <C, R where C : Collection, R : Collection, C.[Collection]SubSequence == Substring, R.[Collection]SubSequence == Substring> |
| 33 | +func f08<C : Collection, R : Collection>(_: C, _: R) where C.SubSequence == Substring, R.SubSequence == Substring, C.Element == R.Element, C.Element == Character {} |
| 34 | + |
| 35 | +// CHECK-LABEL: split_concrete_equivalence_class.(file).f09@ |
| 36 | +// CHECK-NEXT: Generic signature: <C, R where C : Collection, R : Collection, C.[Collection]SubSequence == Substring, R.[Collection]SubSequence == Substring> |
| 37 | +func f09<C : Collection, R : Collection>(_: C, _: R) where C.SubSequence == Substring, R.SubSequence == Substring, C.Element == R.Element, R.Element == Character {} |
0 commit comments