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
failed at 'must have a local task to insert into TLD', /Users/rustbuild/src/rust-buildbot/slave/nightly-mac/build/src/librustrt/local_data.rs:159
run with `RUST_BACKTRACE=1` to see a backtrace
You've met with a terrible fate, haven't you?
fatal runtime error: Could not unwind stack, error = 5
zsh: illegal hardware instruction ./foo
I believe we should take a more principled approach to this:
take() the local task's TLD map.
Drop the TLD map. If this re-invokes TLD, the missing TLD map in the task will be re-initialized.
Repeat steps 1-2 a fixed number of times while the map was re-initialized.
Abort with a nice error message if the map is still initialized. Otherwise continue invoking GC destructors.
Nominating, but I don't believe this blocks 1.0
The text was updated successfully, but these errors were encountered:
Okay, so this API has changed significantly, but I think this is it:
thread_local!(static foo: Foo = Foo);
struct Foo;
impl Drop for Foo {
fn drop(&mut self) {
foo.with(|f| {
});
}
}
fn main() {
let f = Foo;
}
yields
thread '<main>' panicked at 'cannot access a TLS value during or after it is destroyed', /home/rustbuild/src/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libcore/option.rs:330
fatal runtime error: Could not unwind stack, error = 5
/bin/bash: line 1: 14786 Illegal instruction ./hello
error:
I believe we should take a more principled approach to this:
take()
the local task's TLD map.Nominating, but I don't believe this blocks 1.0
The text was updated successfully, but these errors were encountered: