@@ -61,11 +61,11 @@ public struct FrozenNonEnregisteredStruct
6161 }
6262
6363 [ UnmanagedCallConv ( CallConvs = new Type [ ] { typeof ( CallConvSwift ) } ) ]
64- [ DllImport ( SwiftLib , EntryPoint = "$s16SwiftSelfContext24FrozenEnregisteredStructV3Sums5Int64VyF " ) ]
64+ [ DllImport ( SwiftLib , EntryPoint = "$s16SwiftSelfContext24FrozenEnregisteredStructV3sums5Int64VyF " ) ]
6565 public static extern long SumFrozenEnregisteredStruct ( SwiftSelf < FrozenEnregisteredStruct > self ) ;
6666
6767 [ UnmanagedCallConv ( CallConvs = new Type [ ] { typeof ( CallConvSwift ) } ) ]
68- [ DllImport ( SwiftLib , EntryPoint = "$s16SwiftSelfContext27FrozenNonEnregisteredStructV3Sums5Int64VyF " ) ]
68+ [ DllImport ( SwiftLib , EntryPoint = "$s16SwiftSelfContext27FrozenNonEnregisteredStructV3sums5Int64VyF " ) ]
6969 public static extern long SumFrozenNonEnregisteredStruct ( SwiftSelf < FrozenNonEnregisteredStruct > self ) ;
7070
7171 [ Fact ]
@@ -81,4 +81,27 @@ public unsafe static void TestSelfIsFrozenNonEnregisteredStruct()
8181 long sum = SumFrozenNonEnregisteredStruct ( new SwiftSelf < FrozenNonEnregisteredStruct > ( new FrozenNonEnregisteredStruct { A = 10 , B = 20 , C = 30 , D = 40 , E = 50 } ) ) ;
8282 Assert . Equal ( 150 , sum ) ;
8383 }
84+
85+ [ UnmanagedCallConv ( CallConvs = new Type [ ] { typeof ( CallConvSwift ) } ) ]
86+ [ DllImport ( SwiftLib , EntryPoint = "$s16SwiftSelfContext24FrozenEnregisteredStructV16sumWithExtraArgs1c1dS2f_SftF" ) ]
87+ public static extern float SumFrozenEnregisteredStructWithExtraArgs ( float c , float d , SwiftSelf < FrozenEnregisteredStruct > self ) ;
88+
89+ [ UnmanagedCallConv ( CallConvs = new Type [ ] { typeof ( CallConvSwift ) } ) ]
90+ [ DllImport ( SwiftLib , EntryPoint = "$s16SwiftSelfContext27FrozenNonEnregisteredStructV16sumWithExtraArgs1f1gS2f_SftF" ) ]
91+ public static extern float SumFrozenNonEnregisteredStructWithExtraArgs ( float f , float g , SwiftSelf < FrozenNonEnregisteredStruct > self ) ;
92+
93+ [ Fact ]
94+ public unsafe static void TestSelfIsFrozenEnregisteredStructWithExtraArgs ( )
95+ {
96+ float sum = SumFrozenEnregisteredStructWithExtraArgs ( 3f , 4f , new SwiftSelf < FrozenEnregisteredStruct > ( new FrozenEnregisteredStruct { A = 10 , B = 20 } ) ) ;
97+ Assert . Equal ( 37f , sum ) ;
98+ }
99+
100+ [ Fact ]
101+ [ SkipOnMono ( "https://github.com/dotnet/runtime/issues/108855" ) ]
102+ public unsafe static void TestSelfIsFrozenNonEnregisteredStructWithExtraArgs ( )
103+ {
104+ float sum = SumFrozenNonEnregisteredStructWithExtraArgs ( 3f , 4f , new SwiftSelf < FrozenNonEnregisteredStruct > ( new FrozenNonEnregisteredStruct { A = 10 , B = 20 , C = 30 , D = 40 , E = 50 } ) ) ;
105+ Assert . Equal ( 157f , sum ) ;
106+ }
84107}
0 commit comments