@@ -53,6 +53,7 @@ pub trait AstBuilder {
53
53
fn ty ( & self , span : Span , ty : ast:: TyKind ) -> P < ast:: Ty > ;
54
54
fn ty_path ( & self , path : ast:: Path ) -> P < ast:: Ty > ;
55
55
fn ty_ident ( & self , span : Span , idents : ast:: Ident ) -> P < ast:: Ty > ;
56
+ fn anon_const ( & self , span : Span , expr : ast:: ExprKind ) -> ast:: AnonConst ;
56
57
fn const_ident ( & self , span : Span , idents : ast:: Ident ) -> ast:: AnonConst ;
57
58
58
59
fn ty_rptr ( & self , span : Span ,
@@ -402,8 +403,20 @@ impl<'a> AstBuilder for ExtCtxt<'a> {
402
403
self . ty_path ( self . path_ident ( span, ident) )
403
404
}
404
405
405
- fn const_ident ( & self , _span : Span , _ident : ast:: Ident ) -> ast:: AnonConst {
406
- unimplemented ! ( ) // TODO(const_generics)
406
+ fn anon_const ( & self , span : Span , expr : ast:: ExprKind ) -> ast:: AnonConst {
407
+ ast:: AnonConst {
408
+ id : ast:: DUMMY_NODE_ID ,
409
+ value : P ( ast:: Expr {
410
+ id : ast:: DUMMY_NODE_ID ,
411
+ node : expr,
412
+ span,
413
+ attrs : ast:: ThinVec :: new ( ) ,
414
+ } )
415
+ }
416
+ }
417
+
418
+ fn const_ident ( & self , span : Span , ident : ast:: Ident ) -> ast:: AnonConst {
419
+ self . anon_const ( span, ast:: ExprKind :: Path ( None , self . path_ident ( span, ident) ) )
407
420
}
408
421
409
422
fn ty_rptr ( & self ,
0 commit comments