diff options
Diffstat (limited to 'src/libstd/arc.rs')
| -rw-r--r-- | src/libstd/arc.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libstd/arc.rs b/src/libstd/arc.rs index 0033a4eaccd..503c15b46c2 100644 --- a/src/libstd/arc.rs +++ b/src/libstd/arc.rs @@ -217,7 +217,10 @@ fn check_poison(is_mutex: bool, failed: bool) { #[doc(hidden)] struct PoisonOnFail { failed: &mut bool, - drop { +} + +impl PoisonOnFail : Drop { + fn finalize() { /* assert !*self.failed; -- might be false in case of cond.wait() */ if task::failing() { *self.failed = true; } } |
