#![allow(clippy::result_unit_err)]
use dupe::Dupe;
#[derive(Copy, Clone, Dupe, Eq, PartialEq, derive_more::Display, Debug)]
pub enum TypingUnOp {
#[display("+")]
Plus,
#[display("-")]
Minus,
#[display("~")]
BitNot,
}
#[derive(Copy, Clone, Dupe, Eq, PartialEq, derive_more::Display, Debug)]
pub enum TypingBinOp {
#[display("+")]
Add,
#[display("-")]
Sub,
#[display("/")]
Div,
#[display("/")]
FloorDiv,
#[display("*")]
Mul,
#[display("%")]
Percent,
#[display("in")]
In,
#[display("|")]
BitOr,
#[display("^")]
BitXor,
#[display("&")]
BitAnd,
#[display("<")]
Less,
#[display("<<")]
LeftShift,
#[display(">>")]
RightShift,
}
impl TypingBinOp {
pub(crate) fn always_bool(self) -> bool {
matches!(self, TypingBinOp::In | TypingBinOp::Less)
}
}