@@ -52,6 +52,7 @@ use crate::util::nodemap::{DefIdMap, NodeMap};
5252use std:: collections:: { BTreeSet , BTreeMap } ;
5353use std:: fmt:: Debug ;
5454use std:: mem;
55+ use std:: rc:: Rc ;
5556use smallvec:: SmallVec ;
5657use syntax:: attr;
5758use syntax:: ast;
@@ -687,7 +688,7 @@ impl<'a> LoweringContext<'a> {
687688 & self ,
688689 reason : CompilerDesugaringKind ,
689690 span : Span ,
690- allow_internal_unstable : Vec < Symbol > ,
691+ allow_internal_unstable : Option < Rc < [ Symbol ] > > ,
691692 ) -> Span {
692693 let mark = Mark :: fresh ( Mark :: root ( ) ) ;
693694 mark. set_expn_info ( source_map:: ExpnInfo {
@@ -974,9 +975,9 @@ impl<'a> LoweringContext<'a> {
974975 let unstable_span = self . mark_span_with_reason (
975976 CompilerDesugaringKind :: Async ,
976977 span,
977- vec ! [
978+ Some ( vec ! [
978979 Symbol :: intern( "gen_future" ) ,
979- ] ,
980+ ] . into ( ) ) ,
980981 ) ;
981982 let gen_future = self . expr_std_path (
982983 unstable_span, & [ "future" , "from_generator" ] , None , ThinVec :: new ( ) ) ;
@@ -1376,7 +1377,7 @@ impl<'a> LoweringContext<'a> {
13761377 let exist_ty_span = self . mark_span_with_reason (
13771378 CompilerDesugaringKind :: ExistentialReturnType ,
13781379 span,
1379- Vec :: new ( ) , // doesn'c actually allow anything unstable
1380+ None ,
13801381 ) ;
13811382
13821383 let exist_ty_def_index = self
@@ -3944,9 +3945,9 @@ impl<'a> LoweringContext<'a> {
39443945 let unstable_span = this. mark_span_with_reason (
39453946 CompilerDesugaringKind :: TryBlock ,
39463947 body. span ,
3947- vec ! [
3948+ Some ( vec ! [
39483949 Symbol :: intern( "try_trait" ) ,
3949- ] ,
3950+ ] . into ( ) ) ,
39503951 ) ;
39513952 let mut block = this. lower_block ( body, true ) . into_inner ( ) ;
39523953 let tail = block. expr . take ( ) . map_or_else (
@@ -4382,7 +4383,7 @@ impl<'a> LoweringContext<'a> {
43824383 let desugared_span = self . mark_span_with_reason (
43834384 CompilerDesugaringKind :: ForLoop ,
43844385 head_sp,
4385- Vec :: new ( ) ,
4386+ None ,
43864387 ) ;
43874388
43884389 let iter = self . str_to_ident ( "iter" ) ;
@@ -4548,9 +4549,9 @@ impl<'a> LoweringContext<'a> {
45484549 let unstable_span = self . mark_span_with_reason (
45494550 CompilerDesugaringKind :: QuestionMark ,
45504551 e. span ,
4551- vec ! [
4552+ Some ( vec ! [
45524553 Symbol :: intern( "try_trait" )
4553- ] ,
4554+ ] . into ( ) ) ,
45544555 ) ;
45554556
45564557 // `Try::into_result(<expr>)`
0 commit comments