use crate::*;
#[test]
fn test_box_leak_new_with_integer() {
let leaked: &'static mut i32 = box_leak_new(42);
assert_eq!(*leaked, 42);
*leaked = 100;
assert_eq!(*leaked, 100);
}
#[test]
fn test_box_leak_new_with_string() {
let leaked: &'static mut String = box_leak_new("hello".to_string());
assert_eq!(*leaked, "hello");
leaked.push_str(" world");
assert_eq!(*leaked, "hello world");
}
#[test]
fn test_box_leak_new_with_vec() {
let leaked: &'static mut Vec<i32> = box_leak_new(vec![1, 2, 3]);
assert_eq!(*leaked, vec![1, 2, 3]);
leaked.push(4);
assert_eq!(*leaked, vec![1, 2, 3, 4]);
}
#[test]
fn test_box_leak_new_static_lifetime() {
fn assert_static<T: 'static>(_: T) {}
let leaked: &'static mut i32 = box_leak_new(42);
assert_static(*leaked);
}