@@ -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 ! [
@@ -1362,7 +1364,7 @@ impl<'a> LoweringContext<'a> {
1362
1364
// desugaring that explicitly states that we don't want to track that.
1363
1365
// Not tracking it makes lints in rustc and clippy very fragile as
1364
1366
// frequently opened issues show.
1365
- let exist_ty_span = self . allow_internal_unstable (
1367
+ let exist_ty_span = self . mark_span_with_reason (
1366
1368
CompilerDesugaringKind :: ExistentialReturnType ,
1367
1369
span,
1368
1370
Vec :: new ( ) , // doesn'c actually allow anything unstable
@@ -3924,7 +3926,7 @@ impl<'a> LoweringContext<'a> {
3924
3926
} ) ,
3925
3927
ExprKind :: TryBlock ( ref body) => {
3926
3928
self . with_catch_scope ( body. id , |this| {
3927
- let unstable_span = this. allow_internal_unstable (
3929
+ let unstable_span = this. mark_span_with_reason (
3928
3930
CompilerDesugaringKind :: TryBlock ,
3929
3931
body. span ,
3930
3932
vec ! [
@@ -4362,7 +4364,7 @@ impl<'a> LoweringContext<'a> {
4362
4364
// expand <head>
4363
4365
let head = self . lower_expr ( head) ;
4364
4366
let head_sp = head. span ;
4365
- let desugared_span = self . allow_internal_unstable (
4367
+ let desugared_span = self . mark_span_with_reason (
4366
4368
CompilerDesugaringKind :: ForLoop ,
4367
4369
head_sp,
4368
4370
Vec :: new ( ) ,
@@ -4528,7 +4530,7 @@ impl<'a> LoweringContext<'a> {
4528
4530
// return Try::from_error(From::from(err)),
4529
4531
// }
4530
4532
4531
- let unstable_span = self . allow_internal_unstable (
4533
+ let unstable_span = self . mark_span_with_reason (
4532
4534
CompilerDesugaringKind :: QuestionMark ,
4533
4535
e. span ,
4534
4536
vec ! [
0 commit comments