@@ -5270,7 +5270,10 @@ NOTE(note_add_async_and_throws_to_decl,none,
52705270NOTE(note_add_distributed_to_decl,none,
52715271 " add 'distributed' to %0 to make this %kindonly0 satisfy the protocol requirement" ,
52725272 (const ValueDecl *))
5273- ERROR(add_globalactor_to_function,none,
5273+ ERROR(invalid_isolated_calls_in_body,none,
5274+ " calls to '@%0'-isolated' code in %kind1" ,
5275+ (StringRef, const ValueDecl *))
5276+ NOTE(add_globalactor_to_function,none,
52745277 " add '@%0' to make %kind1 part of global actor %2" ,
52755278 (StringRef, const ValueDecl *, Type))
52765279FIXIT(insert_globalactor_attr, " @%0 " , (Type))
@@ -5565,43 +5568,43 @@ ERROR(isolation_macro_experimental,none,
55655568NOTE(in_derived_conformance, none,
55665569 " in derived conformance to %0" ,
55675570 (Type))
5568- WARNING (non_sendable_param_type,none,
5569- " non-sendable type %0 %select{passed in call to %3 %kind2|"
5570- " exiting %3 context in call to non-isolated %kind2|"
5571- " passed in implicitly asynchronous call to %3 %kind2|"
5572- " in parameter of the protocol requirement satisfied by %3 %kind2|"
5573- " in parameter of superclass method overridden by %3 %kind2|"
5574- " in parameter of %3 '@objc' %kind2}1 cannot cross actor boundary" ,
5575- (Type, unsigned , const ValueDecl *, ActorIsolation))
5576- WARNING (non_sendable_call_argument,none,
5577- " passing argument of non-sendable type %0 %select{into %2 context|"
5578- " outside of %2 context}1 may introduce data races" ,
5579- (Type, bool , ActorIsolation))
5580- WARNING (non_sendable_result_type,none,
5581- " non-sendable type %0 returned by %select{call to %3 %kind2|"
5582- " call from %4 context to non-isolated %kind2|"
5583- " implicitly asynchronous call to %3 %kind2|"
5584- " %3 %kind2 satisfying protocol requirement|"
5585- " %3 overriding %kind2|"
5586- " %3 '@objc' %kind2}1 cannot cross actor boundary" ,
5587- (Type, unsigned , const ValueDecl *, ActorIsolation))
5588- WARNING (non_sendable_call_result_type,none,
5589- " non-sendable type %0 returned by %select{implicitly asynchronous |}1"
5590- " call to %2 function cannot cross actor boundary" ,
5591- (Type, bool , ActorIsolation))
5592- WARNING (non_sendable_property_type,none,
5593- " non-sendable type %0 in %select{"
5594- " %select{asynchronous access to %4 %kind1|"
5595- " asynchronous access from %4 context to non-isolated %kind1|"
5596- " implicitly asynchronous access to %4 %kind1|"
5597- " conformance of %4 %kind1 to protocol requirement|"
5598- " %4 overriding %kind1|"
5599- " %4 '@objc' %kind1}3|captured local %1}2 cannot "
5600- " cross %select{actor|task}2 boundary" ,
5601- (Type, const ValueDecl *, bool , unsigned , ActorIsolation))
5602- WARNING (non_sendable_keypath_capture,none,
5603- " cannot form key path that captures non-sendable type %0" ,
5604- (Type))
5571+ ERROR (non_sendable_param_type,none,
5572+ " non-sendable type %0 %select{passed in call to %3 %kind2|"
5573+ " exiting %3 context in call to non-isolated %kind2|"
5574+ " passed in implicitly asynchronous call to %3 %kind2|"
5575+ " in parameter of the protocol requirement satisfied by %3 %kind2|"
5576+ " in parameter of superclass method overridden by %3 %kind2|"
5577+ " in parameter of %3 '@objc' %kind2}1 cannot cross actor boundary" ,
5578+ (Type, unsigned , const ValueDecl *, ActorIsolation))
5579+ ERROR (non_sendable_call_argument,none,
5580+ " passing argument of non-sendable type %0 %select{into %2 context|"
5581+ " outside of %2 context}1 may introduce data races" ,
5582+ (Type, bool , ActorIsolation))
5583+ ERROR (non_sendable_result_type,none,
5584+ " non-sendable type %0 returned by %select{call to %3 %kind2|"
5585+ " call from %4 context to non-isolated %kind2|"
5586+ " implicitly asynchronous call to %3 %kind2|"
5587+ " %3 %kind2 satisfying protocol requirement|"
5588+ " %3 overriding %kind2|"
5589+ " %3 '@objc' %kind2}1 cannot cross actor boundary" ,
5590+ (Type, unsigned , const ValueDecl *, ActorIsolation))
5591+ ERROR (non_sendable_call_result_type,none,
5592+ " non-sendable type %0 returned by %select{implicitly asynchronous |}1"
5593+ " call to %2 function cannot cross actor boundary" ,
5594+ (Type, bool , ActorIsolation))
5595+ ERROR (non_sendable_property_type,none,
5596+ " non-sendable type %0 in %select{"
5597+ " %select{asynchronous access to %4 %kind1|"
5598+ " asynchronous access from %4 context to non-isolated %kind1|"
5599+ " implicitly asynchronous access to %4 %kind1|"
5600+ " conformance of %4 %kind1 to protocol requirement|"
5601+ " %4 overriding %kind1|"
5602+ " %4 '@objc' %kind1}3|captured local %1}2 cannot "
5603+ " cross %select{actor|task}2 boundary" ,
5604+ (Type, const ValueDecl *, bool , unsigned , ActorIsolation))
5605+ ERROR (non_sendable_keypath_capture,none,
5606+ " cannot form key path that captures non-sendable type %0" ,
5607+ (Type))
56055608ERROR(non_concurrent_type_member,none,
56065609 " %select{stored property %2|associated value %2}1 of "
56075610 " 'Sendable'-conforming %kind3 has non-sendable type %0" ,
0 commit comments