pub fn track_borrow<'a, T: ?Sized>(name: &str, value: &'a T) -> &'a TExpand description
Track an immutable borrow.
Records a Borrow event with mutable: false and returns the reference unchanged.
Use this when creating a shared reference (&T).
§Arguments
name- A descriptive name for the borrowvalue- The reference being tracked (returned unchanged)
§Returns
The input reference, unchanged.
§Examples
let data = track_new("data", vec![1, 2, 3]);
let r1 = track_borrow("r1", &data);
let r2 = track_borrow("r2", &data); // Multiple immutable borrows OK
println!("{:?}, {:?}", r1, r2);
let events = get_events();
assert!(events[1].is_borrow());
assert!(events[2].is_borrow());