You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// CHECK-LABEL: sil hidden [ossa] @$s20opaque_values_silgen24testCastClassToAnyObjectyyXlAA1CCF : $@convention(thin) (@guaranteed C) -> @owned AnyObject {
394
+
// CHECK: bb0(%0 : @guaranteed $C):
395
+
// CHECK: checked_cast_br %0 : $C to AnyObject, bb2, bb1
396
+
// CHECK: bb1(%{{.*}} : @guaranteed $C):
397
+
// CHECK: bb2(%{{.*}} : @guaranteed $AnyObject):
398
+
// CHECK-LABEL: } // end sil function
399
+
func testCastClassToAnyObject(_ c:C)->AnyObject{
400
+
switch(c){
401
+
caseletx as AnyObject:
402
+
_ = x
403
+
break
404
+
}
405
+
}
406
+
407
+
// CHECK-LABEL: sil hidden [ossa] @$s20opaque_values_silgen24testCastAnyObjectToClassyAA1CCyXlF : $@convention(thin) (@guaranteed AnyObject) -> @owned C {
408
+
// CHECK: bb0(%0 : @guaranteed $AnyObject):
409
+
// CHECK: [[CP:%.*]] = copy_value %0 : $AnyObject
410
+
// CHECK: checked_cast_br [[CP]] : $AnyObject to C, bb1, bb2
411
+
// CHECK-LABEL: } // end sil function '$s20opaque_values_silgen24testCastAnyObjectToClassyAA1CCyXlF'
412
+
func testCastAnyObjectToClass(_ o:AnyObject)->C{
413
+
switch(o){
414
+
caseletx as C:
415
+
_ = x
416
+
break
417
+
default:
418
+
break
419
+
}
420
+
}
421
+
422
+
// CHECK-LABEL: sil hidden [ossa] @$s20opaque_values_silgen024testCastClassArchetypeToF0yAA1CCxRlzClF : $@convention(thin) <T where T : AnyObject> (@guaranteed T) -> @owned C {
423
+
// CHECK: bb0(%0 : @guaranteed $T):
424
+
// CHECK: [[CP:%.*]] = copy_value %0 : $T
425
+
// CHECK: checked_cast_br [[CP]] : $T to C, bb1, bb2
426
+
// CHECK-LABEL: } // end sil function '$s20opaque_values_silgen024testCastClassArchetypeToF0yAA1CCxRlzClF'
0 commit comments