@@ -4576,14 +4576,6 @@ NOTE(async_call_without_await_in_async_let,none,
45764576
45774577WARNING(no_async_in_await,none,
45784578 " no 'async' operations occur within 'await' expression" , ())
4579- ERROR(async_call_in_illegal_context,none,
4580- " 'async' call cannot occur in "
4581- " %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}0" ,
4582- (unsigned ))
4583- ERROR(await_in_illegal_context,none,
4584- " 'await' operation cannot occur in "
4585- " %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}0" ,
4586- (unsigned ))
45874579ERROR(async_in_nonasync_function,none,
45884580 " %select{'async'|'async' call|'await'|'async let'|'async' property access|'async' subscript access}0 in "
45894581 " %select{a function|an autoclosure}1 that does not support concurrency" ,
@@ -4631,10 +4623,32 @@ ERROR(async_let_no_variables,none,
46314623 " 'async let' requires at least one named variable" , ())
46324624NOTE(async_let_without_await,none,
46334625 " reference to async let %0 is 'async'" , (DeclName))
4626+
4627+ #define EFFECTS_CONTEXT_KIND \
4628+ " %select{<<ERROR>>|" \
4629+ " a default argument|" \
4630+ " a property wrapper initializer|" \
4631+ " a property initializer|" \
4632+ " a global variable initializer|" \
4633+ " an enum case raw value|" \
4634+ " a catch pattern|" \
4635+ " a catch guard expression|" \
4636+ " a defer body}" \
4637+
4638+ ERROR (async_call_in_illegal_context,none,
4639+ " 'async' call cannot occur in " EFFECTS_CONTEXT_KIND " 0" ,
4640+ (unsigned ))
4641+ ERROR(await_in_illegal_context,none,
4642+ " 'await' operation cannot occur in " EFFECTS_CONTEXT_KIND " 0" ,
4643+ (unsigned ))
46344644ERROR(async_let_in_illegal_context,none,
4635- " async let %0 cannot be referenced in "
4636- " %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" ,
4645+ " async let %0 cannot be referenced in " EFFECTS_CONTEXT_KIND " 1" ,
46374646 (DeclName, unsigned ))
4647+ ERROR(async_let_binding_illegal_context,none,
4648+ " 'async let' cannot be used on declarations in " EFFECTS_CONTEXT_KIND " 0" ,
4649+ (unsigned ))
4650+
4651+ #undef EFFECTS_CONTEXT_KIND
46384652
46394653ERROR (objc_ambiguous_async_convention,none,
46404654 " %0 overrides or implements protocol requirements for Objective-C "
0 commit comments