Skip to content

Commit c18d017

Browse files
committed
orchestra conductor / Add explicit lifetimes around fn _execute
1 parent 04577f8 commit c18d017

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/orchestra/conductor.rs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -547,11 +547,12 @@ impl Conductor {
547547

548548

549549
fn execute (mut self) -> Result<(), OrchError> {
550-
let mut performer_buffers: [&[Node]; PERFORMERS_NUMBER] = [&[]; PERFORMERS_NUMBER];
551-
let mut music: Vec<u8> = Vec::with_capacity (0);
552-
let mut volumes: Vec<Volume> = Vec::with_capacity (0);
553-
554-
let result = self._execute (&mut performer_buffers, &mut music, &mut volumes);
550+
let result = {
551+
let mut volumes: Vec<Volume> = Vec::with_capacity (0);
552+
let mut music: Vec<u8> = Vec::with_capacity (0);
553+
let mut performer_buffers: [&[Node]; PERFORMERS_NUMBER] = [&[]; PERFORMERS_NUMBER];
554+
self._execute (&mut performer_buffers, &mut music, &mut volumes)
555+
};
555556

556557
self.terminate ();
557558

@@ -565,11 +566,11 @@ impl Conductor {
565566
}
566567

567568

568-
fn _execute (
569-
&mut self,
570-
performer_buffers: &mut [&[Node]; PERFORMERS_NUMBER],
571-
music: &mut Vec<u8>,
572-
volumes: &mut Vec<Volume>
569+
fn _execute<'a, 'b, 'c> (
570+
&'a mut self,
571+
performer_buffers: &'b mut [&'c [Node]; PERFORMERS_NUMBER],
572+
music: &'b mut Vec<u8>,
573+
volumes: &'c mut Vec<Volume>
573574
) -> Result<(), OrchError> {
574575
let mut vols_num = 0;
575576

@@ -723,7 +724,7 @@ impl Conductor {
723724
let mut perfs_busy = false;
724725
let mut perf_idx: usize = 0;
725726

726-
let mut rope: &Rope;
727+
let mut rope: &'c Rope;
727728
let mut rope_idx: usize;
728729

729730
let mut str_ptr: *mut u8 = music.as_mut_ptr ();

0 commit comments

Comments
 (0)