}
}
-pub fn binop_to_str(o: BinOp) -> String {
+pub fn binop_to_str(o: BinOp) -> &'static str {
match o {
- PLUS => "+".to_string(),
- MINUS => "-".to_string(),
- STAR => "*".to_string(),
- SLASH => "/".to_string(),
- PERCENT => "%".to_string(),
- CARET => "^".to_string(),
- AND => "&".to_string(),
- OR => "|".to_string(),
- SHL => "<<".to_string(),
- SHR => ">>".to_string()
+ PLUS => "+",
+ MINUS => "-",
+ STAR => "*",
+ SLASH => "/",
+ PERCENT => "%",
+ CARET => "^",
+ AND => "&",
+ OR => "|",
+ SHL => "<<",
+ SHR => ">>"
}
}
TILDE => "~".to_string(),
OROR => "||".to_string(),
ANDAND => "&&".to_string(),
- BINOP(op) => binop_to_str(op),
+ BINOP(op) => binop_to_str(op).to_string(),
BINOPEQ(op) => {
- let mut s = binop_to_str(op);
+ let mut s = binop_to_str(op).to_strbuf();
s.push_str("=");
s
}