Skip to content

Commit b102d20

Browse files
committed
no mut ref conversion
1 parent 6dbb6dc commit b102d20

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

src/random.rs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -164,30 +164,29 @@ impl<'py> PyBitGeneratorGuard {
164164
/// Returns the next random unsigned 64 bit integer.
165165
pub fn next_u64(&mut self) -> u64 {
166166
unsafe {
167-
// TODO: maybe use pointer offsets instead of `mut`
168-
let bitgen = self.raw_bitgen.as_mut();
169-
(bitgen.next_uint64)(bitgen.state)
167+
let bitgen = self.raw_bitgen.as_ptr();
168+
((*bitgen).next_uint64)((*bitgen).state)
170169
}
171170
}
172171
/// Returns the next random unsigned 32 bit integer.
173172
pub fn next_u32(&mut self) -> u32 {
174173
unsafe {
175-
let bitgen = self.raw_bitgen.as_mut();
176-
(bitgen.next_uint32)(bitgen.state)
174+
let bitgen = self.raw_bitgen.as_ptr();
175+
((*bitgen).next_uint32)((*bitgen).state)
177176
}
178177
}
179178
/// Returns the next random double.
180179
pub fn next_double(&mut self) -> libc::c_double {
181180
unsafe {
182-
let bitgen = self.raw_bitgen.as_mut();
183-
(bitgen.next_double)(bitgen.state)
181+
let bitgen = self.raw_bitgen.as_ptr();
182+
((*bitgen).next_double)((*bitgen).state)
184183
}
185184
}
186185
/// Returns the next raw value (can be used for testing).
187186
pub fn next_raw(&mut self) -> u64 {
188187
unsafe {
189-
let bitgen = self.raw_bitgen.as_mut();
190-
(bitgen.next_raw)(bitgen.state)
188+
let bitgen = self.raw_bitgen.as_ptr();
189+
((*bitgen).next_raw)((*bitgen).state)
191190
}
192191
}
193192
}

0 commit comments

Comments
 (0)