Avatar
exit status: 134 with stderr:SIL verification failed: keypath value type should match value type of keypath pattern: leafTy == pattern->getValueType().subst(patternSubs)->getCanonicalType() Verifying instruction: -> %6 = keypath $ReferenceWritableKeyPath<C, Optional<ObjCBool>>, (root $C; settable_property $ObjCBool, id #C.field1!getter.1 : <Self where Self : C> (Self) -> () -> ObjCBool, getter @$s4main1CP6field110Foundation8ObjCBoolVvpAaB_pTK : $@convention(thin) (@in_guaranteed C) -> @out ObjCBool, setter @$s4main1CP6field110Foundation8ObjCBoolVvpAaB_pTk : $@convention(thin) (@in_guaranteed ObjCBool, @in_guaranteed C) -> ()) // users: %20, %16 %16 = apply %15<C, Optional<ObjCBool>>(%11, %6, %13) : $@convention(thin) <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0, @guaranteed ReferenceWritableKeyPath<τ_0_0, τ_0_1>, @in τ_0_1) -> () destroy_value %6 : $ReferenceWritableKeyPath<C, Optional<ObjCBool>> // id: %20 In function: // C.set(value:) sil @$s4main1CPAAE3set5valueySb_tF : $@convention(method) <Self where Self : C> (Bool, @guaranteed Self) -> () { // %0 // users: %9, %2 // %1 // users: %4, %3 bb0(%0 : @trivial $Bool, %1 : @guaranteed $Self): debug_value %0 : $Bool, let, name "value", argno 1 // id: %2 debug_value %1 : $Self, let, name "self", argno 2 // id: %3 %4 = copy_value %1 : $Self // user: %5 %5 = init_existential_ref %4 : $Self : $Self, $C // user: %12 %6 = keypath $ReferenceWritableKeyPath<C, Optional<ObjCBool>>, (root $C; settable_property $ObjCBool, id #C.field1!getter.1 : <Self where Self : C> (Self) -> () -> ObjCBool, getter @$s4main1CP6field110Foundation8ObjCBoolVvpAaB_pTK : $@convention(thin) (@in_guaranteed C) -> @out ObjCBool, setter @$s4main1CP6field110Foundation8ObjCBoolVvpAaB_pTk : $@convention(thin) (@in_guaranteed ObjCBool, @in_guaranteed C) -> ()) // users: %20, %16 %7 = metatype $@thin ObjCBool.Type