pub fn track_borrow_mut<'a, T: ?Sized>(
name: &str,
value: &'a mut T,
) -> &'a mut TExpand 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 borrowvalue- 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());