@@ -52,6 +52,7 @@ use crate::util::nodemap::{DefIdMap, NodeMap};
52
52
use std:: collections:: { BTreeSet , BTreeMap } ;
53
53
use std:: fmt:: Debug ;
54
54
use std:: mem;
55
+ use std:: rc:: Rc ;
55
56
use smallvec:: SmallVec ;
56
57
use syntax:: attr;
57
58
use syntax:: ast;
@@ -687,7 +688,7 @@ impl<'a> LoweringContext<'a> {
687
688
& self ,
688
689
reason : CompilerDesugaringKind ,
689
690
span : Span ,
690
- allow_internal_unstable : Vec < Symbol > ,
691
+ allow_internal_unstable : Option < Rc < [ Symbol ] > > ,
691
692
) -> Span {
692
693
let mark = Mark :: fresh ( Mark :: root ( ) ) ;
693
694
mark. set_expn_info ( source_map:: ExpnInfo {
@@ -974,9 +975,9 @@ impl<'a> LoweringContext<'a> {
974
975
let unstable_span = self . mark_span_with_reason (
975
976
CompilerDesugaringKind :: Async ,
976
977
span,
977
- vec ! [
978
+ Some ( vec ! [
978
979
Symbol :: intern( "gen_future" ) ,
979
- ] ,
980
+ ] . into ( ) ) ,
980
981
) ;
981
982
let gen_future = self . expr_std_path (
982
983
unstable_span, & [ "future" , "from_generator" ] , None , ThinVec :: new ( ) ) ;
@@ -1376,7 +1377,7 @@ impl<'a> LoweringContext<'a> {
1376
1377
let exist_ty_span = self . mark_span_with_reason (
1377
1378
CompilerDesugaringKind :: ExistentialReturnType ,
1378
1379
span,
1379
- Vec :: new ( ) , // doesn'c actually allow anything unstable
1380
+ None ,
1380
1381
) ;
1381
1382
1382
1383
let exist_ty_def_index = self
@@ -3944,9 +3945,9 @@ impl<'a> LoweringContext<'a> {
3944
3945
let unstable_span = this. mark_span_with_reason (
3945
3946
CompilerDesugaringKind :: TryBlock ,
3946
3947
body. span ,
3947
- vec ! [
3948
+ Some ( vec ! [
3948
3949
Symbol :: intern( "try_trait" ) ,
3949
- ] ,
3950
+ ] . into ( ) ) ,
3950
3951
) ;
3951
3952
let mut block = this. lower_block ( body, true ) . into_inner ( ) ;
3952
3953
let tail = block. expr . take ( ) . map_or_else (
@@ -4382,7 +4383,7 @@ impl<'a> LoweringContext<'a> {
4382
4383
let desugared_span = self . mark_span_with_reason (
4383
4384
CompilerDesugaringKind :: ForLoop ,
4384
4385
head_sp,
4385
- Vec :: new ( ) ,
4386
+ None ,
4386
4387
) ;
4387
4388
4388
4389
let iter = self . str_to_ident ( "iter" ) ;
@@ -4548,9 +4549,9 @@ impl<'a> LoweringContext<'a> {
4548
4549
let unstable_span = self . mark_span_with_reason (
4549
4550
CompilerDesugaringKind :: QuestionMark ,
4550
4551
e. span ,
4551
- vec ! [
4552
+ Some ( vec ! [
4552
4553
Symbol :: intern( "try_trait" )
4553
- ] ,
4554
+ ] . into ( ) ) ,
4554
4555
) ;
4555
4556
4556
4557
// `Try::into_result(<expr>)`
0 commit comments