@@ -3727,26 +3727,30 @@ NOTE(silence_debug_description_in_interpolation_segment_call,none,
37273727 " use 'String(describing:)' to silence this warning" , ())
37283728
37293729NOTE(noescape_parameter,none,
3730- " parameter %0 is implicitly non-escaping" ,
3731- (Identifier))
3730+ " parameter %1 is implicitly %select{ non-escaping|non-concurrent}0 " ,
3731+ (unsigned , Identifier))
37323732NOTE(generic_parameters_always_escaping,none,
37333733 " generic parameters are always considered '@escaping'" , ())
37343734
3735- ERROR(passing_noescape_to_escaping,none,
3736- " passing non-escaping parameter %0 to function expecting an @escaping closure" ,
3737- (Identifier))
3735+ ERROR(passing_noattrfunc_to_attrfunc,none,
3736+ " passing %select{non-escaping|non-concurrent}0 parameter %1 to function "
3737+ " expecting %select{an @escaping|a @concurrent}0 closure" ,
3738+ (unsigned , Identifier))
37383739ERROR(converting_noespace_param_to_generic_type,none,
37393740 " converting non-escaping parameter %0 to generic parameter %1 may allow it to escape" ,
37403741 (Identifier, Type))
3741- ERROR(assigning_noescape_to_escaping,none,
3742- " assigning non-escaping parameter %0 to an @escaping closure" ,
3743- (Identifier))
3744- ERROR(general_noescape_to_escaping,none,
3745- " using non-escaping parameter %0 in a context expecting an @escaping closure" ,
3746- (Identifier))
3747- ERROR(converting_noescape_to_type,none,
3748- " converting non-escaping value to %0 may allow it to escape" ,
3749- (Type))
3742+ ERROR(assigning_noattrfunc_to_attrfunc,none,
3743+ " assigning %select{non-escaping|non-concurrent}0 parameter %1 to "
3744+ " %select{an @escaping|a @concurrent}0 closure" ,
3745+ (unsigned , Identifier))
3746+ ERROR(general_noattrfunc_to_attr,none,
3747+ " using %select{non-escaping|non-concurrent}0 parameter %1 in a context "
3748+ " expecting %select{an @escaping|a @concurrent}0 closure" ,
3749+ (unsigned , Identifier))
3750+ ERROR(converting_noattrfunc_to_type,none,
3751+ " converting %select{non-escaping|non-concurrent function}0 value to %1 "
3752+ " may %select{allow it to escape|introduce data races}0" ,
3753+ (unsigned , Type))
37503754
37513755ERROR(capture_across_type_decl,none,
37523756 " %0 declaration cannot close over value %1 defined in outer scope" ,
@@ -4252,14 +4256,29 @@ ERROR(global_actor_from_nonactor_context,none,
42524256ERROR(actor_isolated_partial_apply,none,
42534257 " actor-isolated %0 %1 can not be partially applied" ,
42544258 (DescriptiveDeclKind, DeclName))
4255- WARNING(concurrent_access_local,none,
4256- " local %0 %1 is unsafe to reference in code that may execute "
4257- " concurrently" ,
4259+ ERROR(concurrent_access_local,none,
4260+ " use of local %0 %1 in concurrently-executing code" ,
42584261 (DescriptiveDeclKind, DeclName))
4259- ERROR(actor_isolated_concurrent_access,none,
4260- " actor-isolated %0 %1 is unsafe to reference in code "
4261- " that may execute concurrently" ,
4262+ ERROR(actor_isolated_from_concurrent_closure,none,
4263+ " actor-isolated %0 %1 cannot be referenced from a concurrent closure" ,
42624264 (DescriptiveDeclKind, DeclName))
4265+ ERROR(actor_isolated_from_concurrent_function,none,
4266+ " actor-isolated %0 %1 cannot be referenced from a concurrent function" ,
4267+ (DescriptiveDeclKind, DeclName))
4268+ ERROR(actor_isolated_from_async_let,none,
4269+ " actor-isolated %0 %1 cannot be referenced from 'async let' initializer" ,
4270+ (DescriptiveDeclKind, DeclName))
4271+ ERROR(actor_isolated_from_escaping_closure,none,
4272+ " actor-isolated %0 %1 cannot be referenced from an '@escaping' closure" ,
4273+ (DescriptiveDeclKind, DeclName))
4274+ ERROR(local_function_executed_concurrently,none,
4275+ " concurrently-executed %0 %1 must be marked as '@concurrent'" ,
4276+ (DescriptiveDeclKind, DeclName))
4277+ ERROR(concurrent_mutation_of_local_capture,none,
4278+ " mutation of captured %0 %1 in concurrently-executing code" ,
4279+ (DescriptiveDeclKind, DeclName))
4280+ NOTE(concurrent_access_here,none,
4281+ " access in concurrently-executed code here" , ())
42634282NOTE(actor_isolated_sync_func,none,
42644283 " calls to %0 %1 from outside of its actor context are "
42654284 " implicitly asynchronous" ,
0 commit comments