@@ -4253,17 +4253,17 @@ WARNING(no_throw_in_do_with_catch,none,
4253
4253
// ------------------------------------------------------------------------------
4254
4254
// MARK: Concurrency
4255
4255
// ------------------------------------------------------------------------------
4256
- ERROR(async_call_without_await ,none,
4257
- " call is 'async' but is not marked with 'await'" , ())
4258
- ERROR(async_call_without_await_in_autoclosure,none,
4259
- " call is 'async' in an autoclosure argument that is not marked with 'await' " , ())
4260
- ERROR(async_call_without_await_in_async_let,none,
4261
- " call is 'async' in an 'async let' initializer that is not marked "
4262
- " with 'await' " , ())
4263
- ERROR(async_prop_access_without_await,none,
4264
- " property access is 'async' but is not marked with 'await' " , ())
4265
- ERROR(async_subscript_access_without_await,none,
4266
- " subscript access is 'async' but is not marked with 'await' " , ())
4256
+ ERROR(async_expr_without_await ,none,
4257
+ " expression is 'async' but is not marked with 'await'" , ())
4258
+
4259
+ NOTE(async_access_without_await,none,
4260
+ " %select{call|property access|subscript access|}0 is 'async' " , ( unsigned ))
4261
+
4262
+ NOTE(async_call_without_await_in_autoclosure,none,
4263
+ " call is 'async' in an autoclosure argument " , ())
4264
+ NOTE(async_call_without_await_in_async_let,none,
4265
+ " call is 'async' in an 'async let' initializer " , ())
4266
+
4267
4267
WARNING(no_async_in_await,none,
4268
4268
" no 'async' operations occur within 'await' expression" , ())
4269
4269
ERROR(async_call_in_illegal_context,none,
@@ -4310,8 +4310,8 @@ ERROR(async_let_not_initialized,none,
4310
4310
" 'async let' binding requires an initializer expression" , ())
4311
4311
ERROR(async_let_no_variables,none,
4312
4312
" 'async let' requires at least one named variable" , ())
4313
- ERROR (async_let_without_await,none,
4314
- " reference to async let %0 is not marked with 'await '" , (DeclName))
4313
+ NOTE (async_let_without_await,none,
4314
+ " reference to async let %0 is 'async '" , (DeclName))
4315
4315
ERROR(async_let_in_illegal_context,none,
4316
4316
" async let %0 cannot be referenced in "
4317
4317
" %select{<<ERROR>>|a default argument|a property wrapper initializer|a property initializer|a global variable initializer|an enum case raw value|a catch pattern|a catch guard expression|a defer body}1" ,
@@ -4426,6 +4426,9 @@ NOTE(actor_isolated_sync_func,none,
4426
4426
NOTE(actor_mutable_state,none,
4427
4427
" mutation of this %0 is only permitted within the actor" ,
4428
4428
(DescriptiveDeclKind))
4429
+ NOTE(actor_isolated_let,none,
4430
+ " use `nonisolated` to allow synchronous access to 'let' from outside "
4431
+ " the actor" , ())
4429
4432
WARNING(shared_mutable_state_access,none,
4430
4433
" reference to %0 %1 is not concurrency-safe because it involves "
4431
4434
" shared mutable state" , (DescriptiveDeclKind, DeclName))
@@ -4458,13 +4461,12 @@ WARNING(non_concurrent_property_type,none,
4458
4461
WARNING(non_concurrent_keypath_capture,none,
4459
4462
" cannot form key path that captures non-sendable type %0" ,
4460
4463
(Type))
4461
- WARNING(non_concurrent_keypath_access,none,
4462
- " cannot form key path that accesses non-sendable type %0" ,
4463
- (Type))
4464
4464
ERROR(non_concurrent_type_member,none,
4465
4465
" %select{stored property %1|associated value %1}0 of "
4466
4466
" 'Sendable'-conforming %2 %3 has non-sendable type %4" ,
4467
4467
(bool , DeclName, DescriptiveDeclKind, DeclName, Type))
4468
+ ERROR(non_sendable_nonisolated_let,none,
4469
+ " non-isolated let property %0 has non-Sendable type %1" , (DeclName, Type))
4468
4470
ERROR(concurrent_value_class_mutable_property,none,
4469
4471
" stored property %0 of 'Sendable'-conforming %1 %2 is mutable" ,
4470
4472
(DeclName, DescriptiveDeclKind, DeclName))
@@ -4480,21 +4482,13 @@ ERROR(concurrent_value_inherit,none,
4480
4482
" %select{| other than 'NSObject'}0" ,
4481
4483
(bool , DeclName))
4482
4484
4483
- ERROR(actorindependent_let,none,
4484
- " '@actorIndependent' is meaningless on 'let' declarations because "
4485
- " they are immutable" ,
4486
- ())
4487
4485
ERROR(actorindependent_mutable_storage,none,
4488
4486
" '@actorIndependent' can not be applied to stored properties" ,
4489
4487
())
4490
4488
ERROR(actorindependent_local_var,none,
4491
4489
" '@actorIndependent' can not be applied to local variables" ,
4492
4490
())
4493
4491
4494
- ERROR(nonisolated_let,none,
4495
- " 'nonisolated' is meaningless on 'let' declarations because "
4496
- " they are immutable" ,
4497
- ())
4498
4492
ERROR(nonisolated_mutable_storage,none,
4499
4493
" nonisolated' can not be applied to stored properties" ,
4500
4494
())
0 commit comments