1use std::ops::{Sub, SubAssign};
2
3use crate::{strmath::ToMathStr, StrMath};
4
5impl<'a, T: ToMathStr<'a>> Sub<T> for StrMath<'a> {
6 type Output = StrMath<'a>;
7
8 fn sub(mut self, rhs: T) -> Self::Output {
9 let inst = self.as_mut();
10 *inst = inst.replacen(rhs.to_math_str().as_ref(), "", 1);
11 self
12 }
13}
14
15impl<'a, T: ToMathStr<'a>> SubAssign<T> for StrMath<'_> {
16 fn sub_assign(&mut self, rhs: T) {
17 let inst = self.as_mut();
18 *inst = inst.replacen(rhs.to_math_str().as_ref(), "", 1);
19 }
20}