Open dtolnay opened 2 years ago
use serde::Serialize;
#[derive(Serialize)]
struct Node<'a> {
k: &'a dyn erased_serde::Serialize,
}
fn main() {
std::thread::Builder::new()
.stack_size(2 * 1024 * 1024)
.name("test".to_string())
.spawn(move || {
let mut node = Node { k: &() };
for _ in 0..100 {
node = Node { k: Box::leak(Box::new(node)) };
}
let json = serde_json::to_string(&node).unwrap();
println!("{json}");
})
.unwrap()
.join()
.unwrap();
}
Backtrace according to gdb