@@ -59,7 +59,7 @@ use syntax::ast::*;
59
59
use syntax:: errors;
60
60
use syntax:: ext:: hygiene:: { Mark , SyntaxContext } ;
61
61
use syntax:: ptr:: P ;
62
- use syntax:: codemap:: { self , respan, Spanned } ;
62
+ use syntax:: codemap:: { self , respan, Spanned , CompilerDesugaringKind } ;
63
63
use syntax:: std_inject;
64
64
use syntax:: symbol:: { Symbol , keywords} ;
65
65
use syntax:: util:: small_vector:: SmallVector ;
@@ -396,8 +396,9 @@ impl<'a> LoweringContext<'a> {
396
396
Symbol :: gensym ( s)
397
397
}
398
398
399
- fn allow_internal_unstable ( & self , reason : & ' static str , mut span : Span ) -> Span {
400
- let reason = codemap:: CompilerDesugaringKind :: from ( reason) ;
399
+ fn allow_internal_unstable ( & self , reason : CompilerDesugaringKind , mut span : Span )
400
+ -> Span
401
+ {
401
402
let mark = Mark :: fresh ( Mark :: root ( ) ) ;
402
403
mark. set_expn_info ( codemap:: ExpnInfo {
403
404
call_site : span,
@@ -1763,7 +1764,8 @@ impl<'a> LoweringContext<'a> {
1763
1764
let move_val_init = [ "intrinsics" , "move_val_init" ] ;
1764
1765
let inplace_finalize = [ "ops" , "InPlace" , "finalize" ] ;
1765
1766
1766
- let unstable_span = self . allow_internal_unstable ( "<-" , e. span ) ;
1767
+ let unstable_span =
1768
+ self . allow_internal_unstable ( CompilerDesugaringKind :: BackArrow , e. span ) ;
1767
1769
let make_call = |this : & mut LoweringContext , p, args| {
1768
1770
let path = P ( this. expr_std_path ( unstable_span, p, ThinVec :: new ( ) ) ) ;
1769
1771
P ( this. expr_call ( e. span , path, args) )
@@ -1976,12 +1978,14 @@ impl<'a> LoweringContext<'a> {
1976
1978
e1. iter ( ) . map ( |e| ( "start" , e) ) . chain ( e2. iter ( ) . map ( |e| ( "end" , e) ) )
1977
1979
. map ( |( s, e) | {
1978
1980
let expr = P ( self . lower_expr ( & e) ) ;
1979
- let unstable_span = self . allow_internal_unstable ( "..." , e. span ) ;
1981
+ let unstable_span =
1982
+ self . allow_internal_unstable ( CompilerDesugaringKind :: DotFill , e. span ) ;
1980
1983
self . field ( Symbol :: intern ( s) , expr, unstable_span)
1981
1984
} ) . collect :: < P < [ hir:: Field ] > > ( ) ;
1982
1985
1983
1986
let is_unit = fields. is_empty ( ) ;
1984
- let unstable_span = self . allow_internal_unstable ( "..." , e. span ) ;
1987
+ let unstable_span =
1988
+ self . allow_internal_unstable ( CompilerDesugaringKind :: DotFill , e. span ) ;
1985
1989
let struct_path =
1986
1990
iter:: once ( "ops" ) . chain ( iter:: once ( path) )
1987
1991
. collect :: < Vec < _ > > ( ) ;
@@ -2317,7 +2321,8 @@ impl<'a> LoweringContext<'a> {
2317
2321
// return Try::from_error(From::from(err)),
2318
2322
// }
2319
2323
2320
- let unstable_span = self . allow_internal_unstable ( "?" , e. span ) ;
2324
+ let unstable_span =
2325
+ self . allow_internal_unstable ( CompilerDesugaringKind :: QuestionMark , e. span ) ;
2321
2326
2322
2327
// Try::into_result(<expr>)
2323
2328
let discr = {
0 commit comments