diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs index f8671623992d..85519bd26713 100644 --- a/src/libsyntax/fold.rs +++ b/src/libsyntax/fold.rs @@ -545,7 +545,7 @@ fn fold_field_(field: Field, fld: @ast_fold) -> Field { ExprDoBody(f) => ExprDoBody(fld.fold_expr(f)), ExprLit(_) => (*e).clone(), ExprCast(expr, ref ty) => { - ExprCast(fld.fold_expr(expr), (*ty).clone()) + ExprCast(fld.fold_expr(expr), fld.fold_ty(ty)) } ExprAddrOf(m, ohs) => ExprAddrOf(m, fld.fold_expr(ohs)), ExprIf(cond, ref tr, fl) => {