diff --git a/dec/src/decimal.rs b/dec/src/decimal.rs index 5334d27..9979ae0 100644 --- a/dec/src/decimal.rs +++ b/dec/src/decimal.rs @@ -562,7 +562,7 @@ impl Decimal { /// (i.e. its negated exponent) or `None` for special values. /// /// [pd]: http://speleotrove.com/decimal/dnpack.html - pub fn to_packed_bcd(&mut self) -> Option<(Vec, i32)> { + pub fn to_packed_bcd(&self) -> Option<(Vec, i32)> { if self.is_special() { return None; } @@ -579,7 +579,7 @@ impl Decimal { bcd.as_mut_ptr() as *mut u8, len.try_into().unwrap(), &mut scale as *mut i32, - self.as_mut_ptr() as *mut decnumber_sys::decNumber, + self.as_ptr() as *const decnumber_sys::decNumber, ) }; // Null returned only for special values (already handled) or if `self` diff --git a/dec/tests/dec.rs b/dec/tests/dec.rs index e5e9650..f997e2c 100644 --- a/dec/tests/dec.rs +++ b/dec/tests/dec.rs @@ -1983,7 +1983,7 @@ fn decnum_raw_parts_bcd() { fn inner(s: &str, o: Option) { const N: usize = 13; let mut cx = Context::>::default(); - let mut d = cx.parse(s).unwrap(); + let d = cx.parse(s).unwrap(); let ret = d.to_packed_bcd(); if d.is_special() { assert!(ret.is_none())