@@ -1768,7 +1768,7 @@ impl InvocationCollectorNode for ast::Crate {
17681768    } 
17691769} 
17701770
1771- impl  InvocationCollectorNode  for  P < ast:: Ty >  { 
1771+ impl  InvocationCollectorNode  for  ast:: Ty  { 
17721772    type  OutputTy  = P < ast:: Ty > ; 
17731773    const  KIND :  AstFragmentKind  = AstFragmentKind :: Ty ; 
17741774    fn  to_annotatable ( self )  -> Annotatable  { 
@@ -1791,7 +1791,7 @@ impl InvocationCollectorNode for P<ast::Ty> {
17911791    } 
17921792} 
17931793
1794- impl  InvocationCollectorNode  for  P < ast:: Pat >  { 
1794+ impl  InvocationCollectorNode  for  ast:: Pat  { 
17951795    type  OutputTy  = P < ast:: Pat > ; 
17961796    const  KIND :  AstFragmentKind  = AstFragmentKind :: Pat ; 
17971797    fn  to_annotatable ( self )  -> Annotatable  { 
@@ -1814,11 +1814,11 @@ impl InvocationCollectorNode for P<ast::Pat> {
18141814    } 
18151815} 
18161816
1817- impl  InvocationCollectorNode  for  P < ast:: Expr >  { 
1817+ impl  InvocationCollectorNode  for  ast:: Expr  { 
18181818    type  OutputTy  = P < ast:: Expr > ; 
18191819    const  KIND :  AstFragmentKind  = AstFragmentKind :: Expr ; 
18201820    fn  to_annotatable ( self )  -> Annotatable  { 
1821-         Annotatable :: Expr ( self ) 
1821+         Annotatable :: Expr ( P ( self ) ) 
18221822    } 
18231823    fn  fragment_to_output ( fragment :  AstFragment )  -> Self :: OutputTy  { 
18241824        fragment. make_expr ( ) 
@@ -1955,37 +1955,37 @@ impl DummyAstNode for ast::Crate {
19551955    } 
19561956} 
19571957
1958- impl  DummyAstNode  for  P < ast:: Ty >  { 
1958+ impl  DummyAstNode  for  ast:: Ty  { 
19591959    fn  dummy ( )  -> Self  { 
1960-         P ( ast:: Ty  { 
1960+         ast:: Ty  { 
19611961            id :  DUMMY_NODE_ID , 
19621962            kind :  TyKind :: Dummy , 
19631963            span :  Default :: default ( ) , 
19641964            tokens :  Default :: default ( ) , 
1965-         } ) 
1965+         } 
19661966    } 
19671967} 
19681968
1969- impl  DummyAstNode  for  P < ast:: Pat >  { 
1969+ impl  DummyAstNode  for  ast:: Pat  { 
19701970    fn  dummy ( )  -> Self  { 
1971-         P ( ast:: Pat  { 
1971+         ast:: Pat  { 
19721972            id :  DUMMY_NODE_ID , 
19731973            kind :  PatKind :: Wild , 
19741974            span :  Default :: default ( ) , 
19751975            tokens :  Default :: default ( ) , 
1976-         } ) 
1976+         } 
19771977    } 
19781978} 
19791979
1980- impl  DummyAstNode  for  P < ast:: Expr >  { 
1980+ impl  DummyAstNode  for  ast:: Expr  { 
19811981    fn  dummy ( )  -> Self  { 
19821982        ast:: Expr :: dummy ( ) 
19831983    } 
19841984} 
19851985
19861986impl  DummyAstNode  for  AstNodeWrapper < P < ast:: Expr > ,  MethodReceiverTag >  { 
19871987    fn  dummy ( )  -> Self  { 
1988-         AstNodeWrapper :: new ( ast:: Expr :: dummy ( ) ,  MethodReceiverTag ) 
1988+         AstNodeWrapper :: new ( P ( ast:: Expr :: dummy ( ) ) ,  MethodReceiverTag ) 
19891989    } 
19901990} 
19911991
@@ -2272,7 +2272,7 @@ impl<'a, 'b> InvocationCollector<'a, 'b> {
22722272        } 
22732273    } 
22742274
2275-     fn  visit_node < Node :  InvocationCollectorNode < OutputTy  =  Node >  + DummyAstNode > ( 
2275+     fn  visit_node < Node :  InvocationCollectorNode < OutputTy :   Into < Node > >  + DummyAstNode > ( 
22762276        & mut  self , 
22772277        node :  & mut  Node , 
22782278    )  { 
@@ -2297,14 +2297,15 @@ impl<'a, 'b> InvocationCollector<'a, 'b> {
22972297                        * node = self 
22982298                            . collect_attr ( ( attr,  pos,  derives) ,  n. to_annotatable ( ) ,  Node :: KIND ) 
22992299                            . make_ast :: < Node > ( ) 
2300+                             . into ( ) 
23002301                    } 
23012302                } , 
23022303                None  if  node. is_mac_call ( )  => { 
23032304                    let  n = mem:: replace ( node,  Node :: dummy ( ) ) ; 
23042305                    let  ( mac,  attrs,  _)  = n. take_mac_call ( ) ; 
23052306                    self . check_attributes ( & attrs,  & mac) ; 
23062307
2307-                     * node = self . collect_bang ( mac,  Node :: KIND ) . make_ast :: < Node > ( ) 
2308+                     * node = self . collect_bang ( mac,  Node :: KIND ) . make_ast :: < Node > ( ) . into ( ) 
23082309                } 
23092310                None  if  node. delegation ( ) . is_some ( )  => unreachable ! ( ) , 
23102311                None  => { 
@@ -2414,15 +2415,15 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
24142415        self . visit_node ( node) 
24152416    } 
24162417
2417-     fn  visit_ty ( & mut  self ,  node :  & mut  P < ast:: Ty > )  { 
2418+     fn  visit_ty ( & mut  self ,  node :  & mut  ast:: Ty )  { 
24182419        self . visit_node ( node) 
24192420    } 
24202421
2421-     fn  visit_pat ( & mut  self ,  node :  & mut  P < ast:: Pat > )  { 
2422+     fn  visit_pat ( & mut  self ,  node :  & mut  ast:: Pat )  { 
24222423        self . visit_node ( node) 
24232424    } 
24242425
2425-     fn  visit_expr ( & mut  self ,  node :  & mut  P < ast:: Expr > )  { 
2426+     fn  visit_expr ( & mut  self ,  node :  & mut  ast:: Expr )  { 
24262427        // FIXME: Feature gating is performed inconsistently between `Expr` and `OptExpr`. 
24272428        if  let  Some ( attr)  = node. attrs . first ( )  { 
24282429            self . cfg ( ) . maybe_emit_expr_attr_err ( attr) ; 
0 commit comments