@@ -5270,7 +5270,10 @@ NOTE(note_add_async_and_throws_to_decl,none,
5270
5270
NOTE(note_add_distributed_to_decl,none,
5271
5271
" add 'distributed' to %0 to make this %kindonly0 satisfy the protocol requirement" ,
5272
5272
(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,
5274
5277
" add '@%0' to make %kind1 part of global actor %2" ,
5275
5278
(StringRef, const ValueDecl *, Type))
5276
5279
FIXIT(insert_globalactor_attr, " @%0 " , (Type))
@@ -5565,43 +5568,43 @@ ERROR(isolation_macro_experimental,none,
5565
5568
NOTE(in_derived_conformance, none,
5566
5569
" in derived conformance to %0" ,
5567
5570
(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))
5605
5608
ERROR(non_concurrent_type_member,none,
5606
5609
" %select{stored property %2|associated value %2}1 of "
5607
5610
" 'Sendable'-conforming %kind3 has non-sendable type %0" ,
0 commit comments