@@ -728,7 +728,9 @@ public class Container {
728728 }
729729}
730730
731- // SR-11303 / rdar://problem/54311335 - crash due to wrong archetype used in generated SIL
731+ // rdar://problem/54311335
732+ // https://github.com/apple/swift/issues/53704
733+ // Crash due to wrong archetype used in generated SIL
732734public protocol TestProtocol { }
733735public class TestClass < T> {
734736 @WrapperWithInitialValue var value : T
@@ -801,7 +803,9 @@ extension UsesMyPublished {
801803 }
802804}
803805
804- // SR-11603 - crash due to incorrect lvalue computation
806+ // https://github.com/apple/swift/issues/54010
807+ // Crash due to incorrect lvalue computation
808+
805809@propertyWrapper
806810struct StructWrapper < T> {
807811 var wrappedValue : T
@@ -815,7 +819,7 @@ class ClassWrapper<T> {
815819 }
816820}
817821
818- struct SR_11603 {
822+ struct S_54010 {
819823 @StructWrapper @ClassWrapper var prop : Int
820824
821825 func foo( ) {
@@ -908,7 +912,9 @@ struct NonMutatingWrapperTestStruct {
908912}
909913
910914
911- // SR-12443: Crash on property with wrapper override that adds observer.
915+ // https://github.com/apple/swift/issues/54882
916+ // Crash on property with wrapper override that adds observer.
917+
912918@propertyWrapper
913919struct BasicIntWrapper {
914920 var wrappedValue : Int
@@ -957,31 +963,33 @@ struct TestAutoclosureComposition {
957963 @Once @ObservedObject var model = Model ( )
958964}
959965
966+ // https://github.com/apple/swift/issues/58201
967+
960968@propertyWrapper
961- struct SR_15940Foo {
969+ struct BasicComputedIntWrapper {
962970 var wrappedValue : Int { 0 }
963971}
964972
965- struct SR_15940_C {
973+ struct S_58201 {
966974 func a( ) {
967- @SR_15940Foo var b : Int
975+ @BasicComputedIntWrapper var b : Int
968976 }
969977}
970978
971- // CHECK-LABEL: sil hidden [ossa] @$s17property_wrappers10SR_15940_CV1ayyF : $@convention(method) (SR_15940_C ) -> () {
972- // CHECK: bb0(%0 : $SR_15940_C ):
973- // CHECK-NEXT: debug_value %0 : $SR_15940_C , let, name "self", argno 1, implicit
974- // CHECK-NEXT: [[BOX:%.*]] = alloc_box ${ var SR_15940Foo }, var, name "_b"
975- // CHECK-NEXT: [[BOXADDR:%.*]] = project_box [[BOX]] : ${ var SR_15940Foo }, 0
976- // CHECK-NEXT: [[METATYPE:%.*]] = metatype $@thin SR_15940Foo .Type
977- // CHECK-NEXT: // function_ref SR_15940Foo .init()
978- // CHECK-NEXT: [[DEFAULTVALUE_FN:%.*]] = function_ref @$s17property_wrappers11SR_15940FooVACycfC : $@convention(method) (@thin SR_15940Foo .Type) -> SR_15940Foo
979- // CHECK-NEXT: [[DEFAULTRESULT:%.*]] = apply [[DEFAULTVALUE_FN]]([[METATYPE]]) : $@convention(method) (@thin SR_15940Foo .Type) -> SR_15940Foo
980- // CHECK-NEXT: store [[DEFAULTRESULT]] to [trivial] [[BOXADDR]] : $*SR_15940Foo
981- // CHECK-NEXT: destroy_value [[BOX]] : ${ var SR_15940Foo }
979+ // CHECK-LABEL: sil hidden [ossa] @$s17property_wrappers7S_58201V1ayyF : $@convention(method) (S_58201 ) -> () {
980+ // CHECK: bb0(%0 : $S_58201 ):
981+ // CHECK-NEXT: debug_value %0 : $S_58201 , let, name "self", argno 1, implicit
982+ // CHECK-NEXT: [[BOX:%.*]] = alloc_box ${ var BasicComputedIntWrapper }, var, name "_b"
983+ // CHECK-NEXT: [[BOXADDR:%.*]] = project_box [[BOX]] : ${ var BasicComputedIntWrapper }, 0
984+ // CHECK-NEXT: [[METATYPE:%.*]] = metatype $@thin BasicComputedIntWrapper .Type
985+ // CHECK-NEXT: // function_ref BasicComputedIntWrapper .init()
986+ // CHECK-NEXT: [[DEFAULTVALUE_FN:%.*]] = function_ref @$s17property_wrappers23BasicComputedIntWrapperVACycfC : $@convention(method) (@thin BasicComputedIntWrapper .Type) -> BasicComputedIntWrapper
987+ // CHECK-NEXT: [[DEFAULTRESULT:%.*]] = apply [[DEFAULTVALUE_FN]]([[METATYPE]]) : $@convention(method) (@thin BasicComputedIntWrapper .Type) -> BasicComputedIntWrapper
988+ // CHECK-NEXT: store [[DEFAULTRESULT]] to [trivial] [[BOXADDR]] : $*BasicComputedIntWrapper
989+ // CHECK-NEXT: destroy_value [[BOX]] : ${ var BasicComputedIntWrapper }
982990// CHECK-NEXT: [[TUPLE:%.*]] = tuple ()
983991// CHECK-NEXT: return [[TUPLE]] : $()
984- // CHECK-NEXT: } // end sil function '$s17property_wrappers10SR_15940_CV1ayyF
992+ // CHECK-NEXT: } // end sil function '$s17property_wrappers7S_58201V1ayyF'
985993
986994// CHECK-LABEL: sil_vtable ClassUsingWrapper {
987995// CHECK-NEXT: #ClassUsingWrapper.x!getter: (ClassUsingWrapper) -> () -> Int : @$s17property_wrappers17ClassUsingWrapperC1xSivg // ClassUsingWrapper.x.getter
0 commit comments