track_borrow_mut

Function track_borrow_mut 

Source
pub fn track_borrow_mut<'a, T: ?Sized>(
    name: &str,
    value: &'a mut T,
) -> &'a mut T
Expand description

Track a mutable borrow.

Records a Borrow event with mutable: true and returns the reference unchanged. Use this when creating an exclusive reference (&mut T).

§Arguments

  • name - A descriptive name for the borrow
  • value - The mutable reference being tracked (returned unchanged)

§Returns

The input mutable reference, unchanged.

§Examples

let mut data = track_new("data", vec![1, 2, 3]);
{
    let r = track_borrow_mut("r", &mut data);
    r.push(4);
}
// Mutable borrow ended, can borrow again
let events = get_events();
assert!(events[1].is_borrow());