From 7efaf3fa343776d547d87984ab47bc26bc1f59a0 Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Mon, 15 Dec 2014 15:49:41 -0500 Subject: [PATCH] syntax/ast_util: add `is_by_value_unop()` --- src/libsyntax/ast_util.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index aaa172633be..5243f07f327 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -85,7 +85,7 @@ pub fn is_shift_binop(b: BinOp) -> bool { } } -/// Returns `true` is the binary operator takes its arguments by value +/// Returns `true` if the binary operator takes its arguments by value pub fn is_by_value_binop(b: BinOp) -> bool { match b { BiAdd | BiSub | BiMul | BiDiv | BiRem | BiBitXor | BiBitAnd | BiBitOr | BiShl | BiShr => { @@ -95,6 +95,14 @@ pub fn is_by_value_binop(b: BinOp) -> bool { } } +/// Returns `true` if the unary operator takes its argument by value +pub fn is_by_value_unop(u: UnOp) -> bool { + match u { + UnNeg | UnNot => true, + _ => false, + } +} + pub fn unop_to_string(op: UnOp) -> &'static str { match op { UnUniq => "box() ",