You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I got panic "thread 'main' has overflowed its stack" when try to run example/wirte-a-lot.
It happened when skipmap dropped.
The default drop of Node is recursive, it has a giant liked-list of nodes. The call back is tool large .
The following works.
impl Drop for Node {
fn drop(&mut self) {
// large object should drop
if let Some(mut next) = self.next.take() {
while let Some(child) = next.next.take() {
next = child;
}
}
unsafe {
for skip in self.skips.iter_mut() {
if let Some(mut next) = skip.take() {
while let Some(child) = (*next).next.take() {
next = Box::into_raw(child);
}
}
}
}
}
}
The text was updated successfully, but these errors were encountered:
I got panic "thread 'main' has overflowed its stack" when try to run example/wirte-a-lot.
It happened when skipmap dropped.
The default drop of Node is recursive, it has a giant liked-list of nodes. The call back is tool large .
The following works.
The text was updated successfully, but these errors were encountered: