@@ -681,7 +681,9 @@ impl<'a> LoweringContext<'a> {
681
681
Ident :: with_empty_ctxt ( Symbol :: gensym ( s) )
682
682
}
683
683
684
- fn allow_internal_unstable (
684
+ /// Reuses the span but adds information like the kind of the desugaring and features that are
685
+ /// allowed inside this span.
686
+ fn mark_span_with_reason (
685
687
& self ,
686
688
reason : CompilerDesugaringKind ,
687
689
span : Span ,
@@ -969,7 +971,7 @@ impl<'a> LoweringContext<'a> {
969
971
attrs : ThinVec :: new ( ) ,
970
972
} ;
971
973
972
- let unstable_span = self . allow_internal_unstable (
974
+ let unstable_span = self . mark_span_with_reason (
973
975
CompilerDesugaringKind :: Async ,
974
976
span,
975
977
vec ! [
@@ -1371,7 +1373,7 @@ impl<'a> LoweringContext<'a> {
1371
1373
// desugaring that explicitly states that we don't want to track that.
1372
1374
// Not tracking it makes lints in rustc and clippy very fragile as
1373
1375
// frequently opened issues show.
1374
- let exist_ty_span = self . allow_internal_unstable (
1376
+ let exist_ty_span = self . mark_span_with_reason (
1375
1377
CompilerDesugaringKind :: ExistentialReturnType ,
1376
1378
span,
1377
1379
Vec :: new ( ) , // doesn'c actually allow anything unstable
@@ -3939,7 +3941,7 @@ impl<'a> LoweringContext<'a> {
3939
3941
} ) ,
3940
3942
ExprKind :: TryBlock ( ref body) => {
3941
3943
self . with_catch_scope ( body. id , |this| {
3942
- let unstable_span = this. allow_internal_unstable (
3944
+ let unstable_span = this. mark_span_with_reason (
3943
3945
CompilerDesugaringKind :: TryBlock ,
3944
3946
body. span ,
3945
3947
vec ! [
@@ -4377,7 +4379,7 @@ impl<'a> LoweringContext<'a> {
4377
4379
// expand <head>
4378
4380
let head = self . lower_expr ( head) ;
4379
4381
let head_sp = head. span ;
4380
- let desugared_span = self . allow_internal_unstable (
4382
+ let desugared_span = self . mark_span_with_reason (
4381
4383
CompilerDesugaringKind :: ForLoop ,
4382
4384
head_sp,
4383
4385
Vec :: new ( ) ,
@@ -4543,7 +4545,7 @@ impl<'a> LoweringContext<'a> {
4543
4545
// return Try::from_error(From::from(err)),
4544
4546
// }
4545
4547
4546
- let unstable_span = self . allow_internal_unstable (
4548
+ let unstable_span = self . mark_span_with_reason (
4547
4549
CompilerDesugaringKind :: QuestionMark ,
4548
4550
e. span ,
4549
4551
vec ! [
0 commit comments