diff options
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/arena.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/libstd/arena.rs b/src/libstd/arena.rs index a669adc6dc8..7ac11ecc5cc 100644 --- a/src/libstd/arena.rs +++ b/src/libstd/arena.rs @@ -254,9 +254,13 @@ impl &Arena { // The external interface #[inline(always)] fn alloc<T>(op: fn() -> T) -> &self/T { - if !rusti::needs_drop::<T>() { - self.alloc_pod(op) - } else { self.alloc_nonpod(op) } + unsafe { + if !rusti::needs_drop::<T>() { + self.alloc_pod(op) + } else { + self.alloc_nonpod(op) + } + } } } |
