track_rc_new

Function track_rc_new 

Source
pub fn track_rc_new<T: ?Sized>(name: &str, value: Rc<T>) -> Rc<T>
Expand description

Track Rc::new allocation.

Records an RcNew event with the current strong and weak reference counts. Use this when creating a new reference-counted pointer.

§Arguments

  • name - A descriptive name for the Rc
  • value - The Rc being tracked (returned unchanged)

§Returns

The input Rc, unchanged.

§Examples

use std::rc::Rc;

let shared = track_rc_new("shared", Rc::new(vec![1, 2, 3]));
assert_eq!(Rc::strong_count(&shared), 1);

let events = get_events();
assert!(events[0].is_rc());
assert_eq!(events[0].strong_count(), Some(1));