diff options
| author | bors <bors@rust-lang.org> | 2014-06-10 18:07:07 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-06-10 18:07:07 -0700 |
| commit | f92a8facf90b40a483032cedb98decc8c41bde51 (patch) | |
| tree | d92fd19592134de268eff55a380af07fe8cb02df /src/rustllvm/RustWrapper.cpp | |
| parent | b1302f9c4f6619bf83fff39b305b990d8f628eb7 (diff) | |
| parent | 47b72e388d6f2207c977fb6b06399717bca96a77 (diff) | |
| download | rust-f92a8facf90b40a483032cedb98decc8c41bde51.tar.gz rust-f92a8facf90b40a483032cedb98decc8c41bde51.zip | |
auto merge of #14768 : riccieri/rust/detransmute-arena, r=alexcrichton
**Update** I've reimplemented this using `Cell` and `RefCell`, as suggested by @alexcrichton. By taking care with the duration of the borrows, I was able to maintain the recursive allocation feature (now covered by a test) without the use of `Unsafe`, and without breaking the non-aliasing `&mut` invariant. **Original** Changes both `Arena` and `TypedArena` to contain an inner struct wrapped in a `Unsafe`, and change field access to go through those instead of transmuting `&self` to `&mut self`. Part of #13933
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
