File tree Expand file tree Collapse file tree 3 files changed +24
-1
lines changed Expand file tree Collapse file tree 3 files changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -1789,7 +1789,7 @@ Serializer::writeASTBlockEntity(ProtocolConformance *conformance) {
1789
1789
Out, ScratchRecord,
1790
1790
abbrCode,
1791
1791
addDeclRef (normal->getProtocol ()),
1792
- addDeclRef (normal->getType ()->getAnyNominal ()),
1792
+ addDeclRef (normal->getDeclContext ()->getSelfNominalTypeDecl ()),
1793
1793
addContainingModuleRef (normal->getDeclContext (),
1794
1794
/* ignoreExport=*/ true ));
1795
1795
}
Original file line number Diff line number Diff line change
1
+ public struct G < T: Sendable > {
2
+ }
3
+
4
+ public func makeG< T: Sendable > ( _: T . Type ) -> G < T > {
5
+ return G < T > ( )
6
+ }
7
+
8
+ @_transparent public func makeVoidG( ) -> G < Void > {
9
+ return makeG ( Void . self)
10
+ }
Original file line number Diff line number Diff line change
1
+ // RUN: %empty-directory(%t)
2
+ // RUN: %target-swift-frontend -emit-module %S/Inputs/tuple_conformance_other.swift -emit-module-path %t/lib.swiftmodule -module-name lib
3
+ // RUN: %target-swift-frontend -emit-sil %s -I %t | %FileCheck %s
4
+ import lib
5
+
6
+ public func doStuff( ) {
7
+ print ( makeVoidG ( ) )
8
+ }
9
+
10
+ // CHECK-LABEL: sil public_external [transparent] @$s3lib9makeVoidGAA1GVyytGyF : $@convention(thin) () -> G<()> {
11
+ // CHECK: [[FN:%.*]] = function_ref @$s3lib5makeGyAA1GVyxGxms8SendableRzlF : $@convention(thin) <τ_0_0 where τ_0_0 : Sendable> (@thick τ_0_0.Type) -> G<τ_0_0>
12
+ // CHECK-NEXT: [[RESULT:%.*]] = apply [[FN]]<()>({{%.*}}) : $@convention(thin) <τ_0_0 where τ_0_0 : Sendable> (@thick τ_0_0.Type) -> G<τ_0_0>
13
+ // CHECK-NEXT: return [[RESULT]] : $G<()>
You can’t perform that action at this time.
0 commit comments