@@ -1668,7 +1668,7 @@ impl InvocationCollectorNode for ast::Crate {
16681668    } 
16691669} 
16701670
1671- impl  InvocationCollectorNode  for  P < ast:: Ty >  { 
1671+ impl  InvocationCollectorNode  for  ast:: Ty  { 
16721672    type  OutputTy  = P < ast:: Ty > ; 
16731673    const  KIND :  AstFragmentKind  = AstFragmentKind :: Ty ; 
16741674    fn  to_annotatable ( self )  -> Annotatable  { 
@@ -1691,7 +1691,7 @@ impl InvocationCollectorNode for P<ast::Ty> {
16911691    } 
16921692} 
16931693
1694- impl  InvocationCollectorNode  for  P < ast:: Pat >  { 
1694+ impl  InvocationCollectorNode  for  ast:: Pat  { 
16951695    type  OutputTy  = P < ast:: Pat > ; 
16961696    const  KIND :  AstFragmentKind  = AstFragmentKind :: Pat ; 
16971697    fn  to_annotatable ( self )  -> Annotatable  { 
@@ -1714,11 +1714,11 @@ impl InvocationCollectorNode for P<ast::Pat> {
17141714    } 
17151715} 
17161716
1717- impl  InvocationCollectorNode  for  P < ast:: Expr >  { 
1717+ impl  InvocationCollectorNode  for  ast:: Expr  { 
17181718    type  OutputTy  = P < ast:: Expr > ; 
17191719    const  KIND :  AstFragmentKind  = AstFragmentKind :: Expr ; 
17201720    fn  to_annotatable ( self )  -> Annotatable  { 
1721-         Annotatable :: Expr ( self ) 
1721+         Annotatable :: Expr ( P ( self ) ) 
17221722    } 
17231723    fn  fragment_to_output ( fragment :  AstFragment )  -> Self :: OutputTy  { 
17241724        fragment. make_expr ( ) 
@@ -1855,37 +1855,37 @@ impl DummyAstNode for ast::Crate {
18551855    } 
18561856} 
18571857
1858- impl  DummyAstNode  for  P < ast:: Ty >  { 
1858+ impl  DummyAstNode  for  ast:: Ty  { 
18591859    fn  dummy ( )  -> Self  { 
1860-         P ( ast:: Ty  { 
1860+         ast:: Ty  { 
18611861            id :  DUMMY_NODE_ID , 
18621862            kind :  TyKind :: Dummy , 
18631863            span :  Default :: default ( ) , 
18641864            tokens :  Default :: default ( ) , 
1865-         } ) 
1865+         } 
18661866    } 
18671867} 
18681868
1869- impl  DummyAstNode  for  P < ast:: Pat >  { 
1869+ impl  DummyAstNode  for  ast:: Pat  { 
18701870    fn  dummy ( )  -> Self  { 
1871-         P ( ast:: Pat  { 
1871+         ast:: Pat  { 
18721872            id :  DUMMY_NODE_ID , 
18731873            kind :  PatKind :: Wild , 
18741874            span :  Default :: default ( ) , 
18751875            tokens :  Default :: default ( ) , 
1876-         } ) 
1876+         } 
18771877    } 
18781878} 
18791879
1880- impl  DummyAstNode  for  P < ast:: Expr >  { 
1880+ impl  DummyAstNode  for  ast:: Expr  { 
18811881    fn  dummy ( )  -> Self  { 
18821882        ast:: Expr :: dummy ( ) 
18831883    } 
18841884} 
18851885
18861886impl  DummyAstNode  for  AstNodeWrapper < P < ast:: Expr > ,  MethodReceiverTag >  { 
18871887    fn  dummy ( )  -> Self  { 
1888-         AstNodeWrapper :: new ( ast:: Expr :: dummy ( ) ,  MethodReceiverTag ) 
1888+         AstNodeWrapper :: new ( P ( ast:: Expr :: dummy ( ) ) ,  MethodReceiverTag ) 
18891889    } 
18901890} 
18911891
@@ -2172,7 +2172,7 @@ impl<'a, 'b> InvocationCollector<'a, 'b> {
21722172        } 
21732173    } 
21742174
2175-     fn  visit_node < Node :  InvocationCollectorNode < OutputTy  =  Node >  + DummyAstNode > ( 
2175+     fn  visit_node < Node :  InvocationCollectorNode < OutputTy :   Into < Node > >  + DummyAstNode > ( 
21762176        & mut  self , 
21772177        node :  & mut  Node , 
21782178    )  { 
@@ -2196,15 +2196,15 @@ impl<'a, 'b> InvocationCollector<'a, 'b> {
21962196                        let  n = mem:: replace ( node,  Node :: dummy ( ) ) ; 
21972197                        * node = self 
21982198                            . collect_attr ( ( attr,  pos,  derives) ,  n. to_annotatable ( ) ,  Node :: KIND ) 
2199-                             . make_ast :: < Node > ( ) 
2199+                             . make_ast :: < Node > ( ) . into ( ) 
22002200                    } 
22012201                } , 
22022202                None  if  node. is_mac_call ( )  => { 
22032203                    let  n = mem:: replace ( node,  Node :: dummy ( ) ) ; 
22042204                    let  ( mac,  attrs,  _)  = n. take_mac_call ( ) ; 
22052205                    self . check_attributes ( & attrs,  & mac) ; 
22062206
2207-                     * node = self . collect_bang ( mac,  Node :: KIND ) . make_ast :: < Node > ( ) 
2207+                     * node = self . collect_bang ( mac,  Node :: KIND ) . make_ast :: < Node > ( ) . into ( ) 
22082208                } 
22092209                None  if  node. delegation ( ) . is_some ( )  => unreachable ! ( ) , 
22102210                None  => { 
@@ -2314,15 +2314,15 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
23142314        self . visit_node ( node) 
23152315    } 
23162316
2317-     fn  visit_ty ( & mut  self ,  node :  & mut  P < ast:: Ty > )  { 
2317+     fn  visit_ty ( & mut  self ,  node :  & mut  ast:: Ty )  { 
23182318        self . visit_node ( node) 
23192319    } 
23202320
2321-     fn  visit_pat ( & mut  self ,  node :  & mut  P < ast:: Pat > )  { 
2321+     fn  visit_pat ( & mut  self ,  node :  & mut  ast:: Pat )  { 
23222322        self . visit_node ( node) 
23232323    } 
23242324
2325-     fn  visit_expr ( & mut  self ,  node :  & mut  P < ast:: Expr > )  { 
2325+     fn  visit_expr ( & mut  self ,  node :  & mut  ast:: Expr )  { 
23262326        // FIXME: Feature gating is performed inconsistently between `Expr` and `OptExpr`. 
23272327        if  let  Some ( attr)  = node. attrs . first ( )  { 
23282328            self . cfg ( ) . maybe_emit_expr_attr_err ( attr) ; 
0 commit comments