luaur_common/methods/
vec_deque_operator_index_vec_deque.rs1use crate::macros::luau_assert::LUAU_ASSERT;
2use crate::records::vec_deque::VecDeque;
3
4impl<T> VecDeque<T> {
5 #[allow(non_snake_case)]
6 pub fn operator_index_mut(&mut self, pos: usize) -> &mut T {
7 LUAU_ASSERT!(pos < self.queue_size);
8
9 let physical_index = self.logicalToPhysical(pos);
10 unsafe {
11 let ptr = self
12 .buffer
13 .expect("buffer must be allocated if queue_size > 0")
14 .as_ptr();
15 &mut *ptr.add(physical_index)
16 }
17 }
18}