diff options
| -rw-r--r-- | src/libsyntax/ast_util.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs index 7579972c6d8..71ce4847922 100644 --- a/src/libsyntax/ast_util.rs +++ b/src/libsyntax/ast_util.rs @@ -85,6 +85,16 @@ pub fn is_shift_binop(b: BinOp) -> bool { } } +/// Returns `true` is 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 => { + true + } + _ => false + } +} + pub fn unop_to_string(op: UnOp) -> &'static str { match op { UnUniq => "box() ", |
