@@ -406,25 +406,21 @@ PropertyWrapperTypeInfoRequest::evaluate(
406
406
}
407
407
}
408
408
409
- auto diagnoseInvalidDynamicSelf = [&]() -> bool {
410
- bool invalidDynamicSelf = false ;
411
- if (result.projectedValueVar &&
412
- result.projectedValueVar ->getValueInterfaceType ()->is <DynamicSelfType>()) {
413
- result.projectedValueVar ->diagnose (
414
- diag::property_wrapper_dynamic_self_type, /* projectedValue=*/ true );
415
- invalidDynamicSelf = true ;
416
- }
417
-
418
- if (result.valueVar ->getValueInterfaceType ()->is <DynamicSelfType>()) {
419
- result.valueVar ->diagnose (
420
- diag::property_wrapper_dynamic_self_type, /* projectedValue=*/ false );
421
- invalidDynamicSelf = true ;
422
- }
409
+ bool hasInvalidDynamicSelf = false ;
410
+ if (result.projectedValueVar &&
411
+ result.projectedValueVar ->getValueInterfaceType ()->hasDynamicSelfType ()) {
412
+ result.projectedValueVar ->diagnose (
413
+ diag::property_wrapper_dynamic_self_type, /* projectedValue=*/ true );
414
+ hasInvalidDynamicSelf = true ;
415
+ }
423
416
424
- return invalidDynamicSelf;
425
- };
417
+ if (result.valueVar ->getValueInterfaceType ()->hasDynamicSelfType ()) {
418
+ result.valueVar ->diagnose (
419
+ diag::property_wrapper_dynamic_self_type, /* projectedValue=*/ false );
420
+ hasInvalidDynamicSelf = true ;
421
+ }
426
422
427
- if (diagnoseInvalidDynamicSelf () )
423
+ if (hasInvalidDynamicSelf )
428
424
return PropertyWrapperTypeInfo ();
429
425
430
426
return result;
0 commit comments