@@ -672,7 +672,7 @@ func set<Container, Field>(into container: inout Container, at keyPath: Writable
672672// CHECK-SAME: [[CONTAINER:%[^,]+]] :
673673// CHECK: [[CONTAINER_COPY:%[^,]+]] = copy_value [[CONTAINER]]
674674// CHECK: [[SETTER:%[^,]+]] = class_method [[CONTAINER_COPY]]
675- // CHECK: [[REGISTER_4:%[^,]+]] = apply [[SETTER]]([[VALUE]], [[CONTAINER_COPY]])
675+ // CHECK: apply [[SETTER]]([[VALUE]], [[CONTAINER_COPY]])
676676// CHECK: destroy_value [[CONTAINER_COPY]]
677677// CHECK-LABEL: } // end sil function '$s20opaque_values_silgen16FormClassKeyPathyyF1QL_C1qSivpADTk'
678678@_silgen_name ( " FormClassKeyPath " )
@@ -782,3 +782,20 @@ func intIntoAnyHashableVar() {
782782func intIntoAnyHashableLet( ) {
783783 let anyHashable : AnyHashable = 0
784784}
785+
786+ // CHECK-LABEL: sil {{.*}}[ossa] @consumeExprOfOwnedAddrOnlyValue : {{.*}} {
787+ // CHECK: bb0([[T:%[^,]+]] :
788+ // CHECK: [[T_LIFETIME:%[^,]+]] = begin_borrow [[T]]
789+ // CHECK: [[T_COPY:%[^,]+]] = copy_value [[T_LIFETIME]]
790+ // CHECK: [[T_MOVE:%[^,]+]] = move_value [allows_diagnostics] [[T_COPY]]
791+ // CHECK: [[SINK:%[^,]+]] = function_ref @sink
792+ // CHECK: apply [[SINK]]<T>([[T_MOVE]])
793+ // CHECK: end_borrow [[T_LIFETIME]]
794+ // CHECK: destroy_value [[T]]
795+ // CHECK-LABEL: } // end sil function 'consumeExprOfOwnedAddrOnlyValue'
796+ @_silgen_name ( " consumeExprOfOwnedAddrOnlyValue " )
797+ func consumeExprOfOwnedAddrOnlyValue< T> ( _ t: __owned T) {
798+ sink ( consume t)
799+ }
800+ @_silgen_name ( " sink " )
801+ func sink< T> ( _ t: consuming T ) { }
0 commit comments