@@ -180,8 +180,10 @@ impl<'a> Sugg<'a> {
180180 ) -> Self {
181181 use rustc_ast:: ast:: RangeLimits ;
182182
183+ let mut snippet = |span : Span | snippet_with_context ( cx, span, ctxt, default, app) . 0 ;
184+
183185 match expr. kind {
184- _ if expr. span . ctxt ( ) != ctxt => Sugg :: NonParen ( snippet_with_context ( cx , expr. span , ctxt , default , app ) . 0 ) ,
186+ _ if expr. span . ctxt ( ) != ctxt => Sugg :: NonParen ( snippet ( expr. span ) ) ,
185187 ast:: ExprKind :: AddrOf ( ..)
186188 | ast:: ExprKind :: Closure { .. }
187189 | ast:: ExprKind :: If ( ..)
@@ -224,46 +226,38 @@ impl<'a> Sugg<'a> {
224226 | ast:: ExprKind :: While ( ..)
225227 | ast:: ExprKind :: Await ( ..)
226228 | ast:: ExprKind :: Err ( _)
227- | ast:: ExprKind :: Dummy => Sugg :: NonParen ( snippet_with_context ( cx , expr. span , ctxt , default , app ) . 0 ) ,
229+ | ast:: ExprKind :: Dummy => Sugg :: NonParen ( snippet ( expr. span ) ) ,
228230 ast:: ExprKind :: Range ( ref lhs, ref rhs, RangeLimits :: HalfOpen ) => Sugg :: BinOp (
229231 AssocOp :: DotDot ,
230- lhs. as_ref ( ) . map_or ( "" . into ( ) , |lhs| {
231- snippet_with_context ( cx, lhs. span , ctxt, default, app) . 0
232- } ) ,
233- rhs. as_ref ( ) . map_or ( "" . into ( ) , |rhs| {
234- snippet_with_context ( cx, rhs. span , ctxt, default, app) . 0
235- } ) ,
232+ lhs. as_ref ( ) . map_or ( "" . into ( ) , |lhs| snippet ( lhs. span ) ) ,
233+ rhs. as_ref ( ) . map_or ( "" . into ( ) , |rhs| snippet ( rhs. span ) ) ,
236234 ) ,
237235 ast:: ExprKind :: Range ( ref lhs, ref rhs, RangeLimits :: Closed ) => Sugg :: BinOp (
238236 AssocOp :: DotDotEq ,
239- lhs. as_ref ( ) . map_or ( "" . into ( ) , |lhs| {
240- snippet_with_context ( cx, lhs. span , ctxt, default, app) . 0
241- } ) ,
242- rhs. as_ref ( ) . map_or ( "" . into ( ) , |rhs| {
243- snippet_with_context ( cx, rhs. span , ctxt, default, app) . 0
244- } ) ,
237+ lhs. as_ref ( ) . map_or ( "" . into ( ) , |lhs| snippet ( lhs. span ) ) ,
238+ rhs. as_ref ( ) . map_or ( "" . into ( ) , |rhs| snippet ( rhs. span ) ) ,
245239 ) ,
246240 ast:: ExprKind :: Assign ( ref lhs, ref rhs, _) => Sugg :: BinOp (
247241 AssocOp :: Assign ,
248- snippet_with_context ( cx , lhs. span , ctxt , default , app ) . 0 ,
249- snippet_with_context ( cx , rhs. span , ctxt , default , app ) . 0 ,
242+ snippet ( lhs. span ) ,
243+ snippet ( rhs. span ) ,
250244 ) ,
251245 ast:: ExprKind :: AssignOp ( op, ref lhs, ref rhs) => Sugg :: BinOp (
252246 astbinop2assignop ( op) ,
253- snippet_with_context ( cx , lhs. span , ctxt , default , app ) . 0 ,
254- snippet_with_context ( cx , rhs. span , ctxt , default , app ) . 0 ,
247+ snippet ( lhs. span ) ,
248+ snippet ( rhs. span ) ,
255249 ) ,
256250 ast:: ExprKind :: Binary ( op, ref lhs, ref rhs) => Sugg :: BinOp (
257251 AssocOp :: from_ast_binop ( op. node ) ,
258- snippet_with_context ( cx , lhs. span , ctxt , default , app ) . 0 ,
259- snippet_with_context ( cx , rhs. span , ctxt , default , app ) . 0 ,
252+ snippet ( lhs. span ) ,
253+ snippet ( rhs. span ) ,
260254 ) ,
261255 ast:: ExprKind :: Cast ( ref lhs, ref ty) |
262256 //FIXME(chenyukang), remove this after type ascription is removed from AST
263257 ast:: ExprKind :: Type ( ref lhs, ref ty) => Sugg :: BinOp (
264258 AssocOp :: As ,
265- snippet_with_context ( cx , lhs. span , ctxt , default , app ) . 0 ,
266- snippet_with_context ( cx , ty. span , ctxt , default , app ) . 0 ,
259+ snippet ( lhs. span ) ,
260+ snippet ( ty. span ) ,
267261 ) ,
268262 }
269263 }
0 commit comments