diff --git a/src/calc.rs b/src/calc.rs index 510e91d..9376c20 100644 --- a/src/calc.rs +++ b/src/calc.rs @@ -50,15 +50,14 @@ impl From for StackCalcError { } impl StackCalc { - pub fn push(&mut self, val: V) -> Result<(), StackCalcError> - where - V: TryInto>, - StackCalcError: From<>>::Error>, - { + pub fn push( + &mut self, + val: impl TryInto, Error: Into>, + ) -> Result<(), StackCalcError> { if self.index == SS { return Err(StackCalcError::StackOverflow); } - self.stack[self.index] = val.try_into()?; + self.stack[self.index] = val.try_into().map_err(Into::into)?; self.index += 1; Ok(()) }