From b1963864d2d66f9245e90d6efd2af4d7a0ab3e50 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 21 Jul 2023 17:07:40 +0200 Subject: [PATCH] Explicitly dereference pointer to avoid calling neg() on reference --- src/parser/parser.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/parser/parser.rs b/src/parser/parser.rs index 20f53e5b..5d637e02 100644 --- a/src/parser/parser.rs +++ b/src/parser/parser.rs @@ -959,12 +959,14 @@ impl<'a, R: CharRead> Parser<'a, R> { fn shift_token(&mut self, token: Token, op_dir: &CompositeOpDir) -> Result<(), ParserError> { fn negate_int_rc(mut t: TypedArenaPtr) -> TypedArenaPtr { - let mut data = t.neg(); + let i: Integer = (*t).clone(); + let mut data = i.neg(); TypedArenaPtr::new(&mut data) } - fn negate_rat_rc(mut t: TypedArenaPtr) -> TypedArenaPtr { - let mut data = t.neg(); + fn negate_rat_rc(t: TypedArenaPtr) -> TypedArenaPtr { + let r: Rational = (*t).clone(); + let mut data = r.neg(); TypedArenaPtr::new(&mut data) } -- 2.54.0