Make implicit autorefs explicit in buffer code

This was triggering a new deny-by-default lint in recent nightly
versions.
This commit is contained in:
Robbert van der Helm
2025-06-15 21:20:04 +02:00
parent 7da01b5f21
commit ecfd6322c7
2 changed files with 22 additions and 22 deletions

View File

@@ -95,12 +95,12 @@ impl<'slice, 'sample> Iterator for BlockChannelsIter<'slice, 'sample> {
#[inline]
fn next(&mut self) -> Option<Self::Item> {
if self.current_channel < unsafe { (*self.buffers).len() } {
if self.current_channel < unsafe { (&(*self.buffers)).len() } {
// SAFETY: These bounds have already been checked
// SAFETY: It is also not possible to have multiple mutable references to the same
// sample at the same time
let slice = unsafe {
(*self.buffers)
(&mut (*self.buffers))
.get_unchecked_mut(self.current_channel)
.get_unchecked_mut(self.current_block_start..self.current_block_end)
};
@@ -115,7 +115,7 @@ impl<'slice, 'sample> Iterator for BlockChannelsIter<'slice, 'sample> {
#[inline]
fn size_hint(&self) -> (usize, Option<usize>) {
let remaining = unsafe { (*self.buffers).len() } - self.current_channel;
let remaining = unsafe { (&(*self.buffers)).len() } - self.current_channel;
(remaining, Some(remaining))
}
@@ -134,7 +134,7 @@ impl<'slice, 'sample> Block<'slice, 'sample> {
/// Returns the number of channels in this buffer.
#[inline]
pub fn channels(&self) -> usize {
unsafe { (*self.buffers).len() }
unsafe { (&(*self.buffers)).len() }
}
/// A resetting iterator. This lets you iterate over the same block multiple times. Otherwise
@@ -171,7 +171,7 @@ impl<'slice, 'sample> Block<'slice, 'sample> {
// SAFETY: The block bound has already been checked
unsafe {
Some(
(*self.buffers)
(&(*self.buffers))
.get(channel_index)?
.get_unchecked(self.current_block_start..self.current_block_end),
)
@@ -185,7 +185,7 @@ impl<'slice, 'sample> Block<'slice, 'sample> {
/// `channel_index` must be in the range `0..Self::len()`.
#[inline]
pub unsafe fn get_unchecked(&self, channel_index: usize) -> &[f32] {
(*self.buffers)
(&(*self.buffers))
.get_unchecked(channel_index)
.get_unchecked(self.current_block_start..self.current_block_end)
}
@@ -197,7 +197,7 @@ impl<'slice, 'sample> Block<'slice, 'sample> {
// SAFETY: The block bound has already been checked
unsafe {
Some(
(*self.buffers)
(&mut (*self.buffers))
.get_mut(channel_index)?
.get_unchecked_mut(self.current_block_start..self.current_block_end),
)
@@ -211,7 +211,7 @@ impl<'slice, 'sample> Block<'slice, 'sample> {
/// `channel_index` must be in the range `0..Self::len()`.
#[inline]
pub unsafe fn get_unchecked_mut(&mut self, channel_index: usize) -> &mut [f32] {
(*self.buffers)
(&mut (*self.buffers))
.get_unchecked_mut(channel_index)
.get_unchecked_mut(self.current_block_start..self.current_block_end)
}
@@ -238,7 +238,7 @@ impl<'slice, 'sample> Block<'slice, 'sample> {
let mut values = [0.0; LANES];
for (channel_idx, value) in values.iter_mut().enumerate().take(used_lanes) {
*value = unsafe {
*(*self.buffers)
*(&(*self.buffers))
.get_unchecked(channel_idx)
.get_unchecked(self.current_block_start + sample_index)
};
@@ -264,7 +264,7 @@ impl<'slice, 'sample> Block<'slice, 'sample> {
{
let mut values = [0.0; LANES];
for (channel_idx, value) in values.iter_mut().enumerate() {
*value = *(*self.buffers)
*value = *(&(*self.buffers))
.get_unchecked(channel_idx)
.get_unchecked(self.current_block_start + sample_index);
}
@@ -296,7 +296,7 @@ impl<'slice, 'sample> Block<'slice, 'sample> {
let values = vector.to_array();
for (channel_idx, value) in values.into_iter().enumerate().take(used_lanes) {
*unsafe {
(*self.buffers)
(&mut (*self.buffers))
.get_unchecked_mut(channel_idx)
.get_unchecked_mut(self.current_block_start + sample_index)
} = value;
@@ -324,7 +324,7 @@ impl<'slice, 'sample> Block<'slice, 'sample> {
{
let values = vector.to_array();
for (channel_idx, value) in values.into_iter().enumerate() {
*(*self.buffers)
*(&mut (*self.buffers))
.get_unchecked_mut(channel_idx)
.get_unchecked_mut(self.current_block_start + sample_index) = value;
}

View File

@@ -87,12 +87,12 @@ impl<'slice, 'sample> Iterator for ChannelSamplesIter<'slice, 'sample> {
#[inline]
fn next(&mut self) -> Option<Self::Item> {
if self.current_channel < unsafe { (*self.buffers).len() } {
if self.current_channel < unsafe { (&(*self.buffers)).len() } {
// SAFETY: These bounds have already been checked
// SAFETY: It is also not possible to have multiple mutable references to the same
// sample at the same time
let sample = unsafe {
(*self.buffers)
(&mut (*self.buffers))
.get_unchecked_mut(self.current_channel)
.get_unchecked_mut(self.current_sample)
};
@@ -107,7 +107,7 @@ impl<'slice, 'sample> Iterator for ChannelSamplesIter<'slice, 'sample> {
#[inline]
fn size_hint(&self) -> (usize, Option<usize>) {
let remaining = unsafe { (*self.buffers).len() } - self.current_channel;
let remaining = unsafe { (&(*self.buffers)).len() } - self.current_channel;
(remaining, Some(remaining))
}
@@ -121,7 +121,7 @@ impl<'slice, 'sample> ChannelSamples<'slice, 'sample> {
#[allow(clippy::len_without_is_empty)]
#[inline]
pub fn len(&self) -> usize {
unsafe { (*self.buffers).len() }
unsafe { (&(*self.buffers)).len() }
}
/// A resetting iterator. This lets you iterate over the same channels multiple times. Otherwise
@@ -144,7 +144,7 @@ impl<'slice, 'sample> ChannelSamples<'slice, 'sample> {
// SAFETY: The sample bound has already been checked
unsafe {
Some(
(*self.buffers)
(&mut (*self.buffers))
.get_mut(channel_index)?
.get_unchecked_mut(self.current_sample),
)
@@ -158,7 +158,7 @@ impl<'slice, 'sample> ChannelSamples<'slice, 'sample> {
/// `channel_index` must be in the range `0..Self::len()`.
#[inline]
pub unsafe fn get_unchecked_mut(&mut self, channel_index: usize) -> &mut f32 {
(*self.buffers)
(&mut (*self.buffers))
.get_unchecked_mut(channel_index)
.get_unchecked_mut(self.current_sample)
}
@@ -176,7 +176,7 @@ impl<'slice, 'sample> ChannelSamples<'slice, 'sample> {
let mut values = [0.0; LANES];
for (channel_idx, value) in values.iter_mut().enumerate().take(used_lanes) {
*value = unsafe {
*(*self.buffers)
*(&(*self.buffers))
.get_unchecked(channel_idx)
.get_unchecked(self.current_sample)
};
@@ -199,7 +199,7 @@ impl<'slice, 'sample> ChannelSamples<'slice, 'sample> {
{
let mut values = [0.0; LANES];
for (channel_idx, value) in values.iter_mut().enumerate() {
*value = *(*self.buffers)
*value = *(&(*self.buffers))
.get_unchecked(channel_idx)
.get_unchecked(self.current_sample);
}
@@ -220,7 +220,7 @@ impl<'slice, 'sample> ChannelSamples<'slice, 'sample> {
let values = vector.to_array();
for (channel_idx, value) in values.into_iter().enumerate().take(used_lanes) {
*unsafe {
(*self.buffers)
(&mut (*self.buffers))
.get_unchecked_mut(channel_idx)
.get_unchecked_mut(self.current_sample)
} = value;
@@ -242,7 +242,7 @@ impl<'slice, 'sample> ChannelSamples<'slice, 'sample> {
{
let values = vector.to_array();
for (channel_idx, value) in values.into_iter().enumerate() {
*(*self.buffers)
*(&mut (*self.buffers))
.get_unchecked_mut(channel_idx)
.get_unchecked_mut(self.current_sample) = value;
}