@@ -4576,14 +4576,6 @@ NOTE(async_call_without_await_in_async_let,none,
4576
4576
4577
4577
WARNING(no_async_in_await,none,
4578
4578
" 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 ))
4587
4579
ERROR(async_in_nonasync_function,none,
4588
4580
" %select{'async'|'async' call|'await'|'async let'|'async' property access|'async' subscript access}0 in "
4589
4581
" %select{a function|an autoclosure}1 that does not support concurrency" ,
@@ -4631,10 +4623,32 @@ ERROR(async_let_no_variables,none,
4631
4623
" 'async let' requires at least one named variable" , ())
4632
4624
NOTE(async_let_without_await,none,
4633
4625
" 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 ))
4634
4644
ERROR(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" ,
4637
4646
(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
4638
4652
4639
4653
ERROR (objc_ambiguous_async_convention,none,
4640
4654
" %0 overrides or implements protocol requirements for Objective-C "
0 commit comments