diff options
| author | bors <bors@rust-lang.org> | 2018-06-28 13:23:07 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-06-28 13:23:07 +0000 |
| commit | 5d95db34a472dc09a90737c83ab533b840dcd224 (patch) | |
| tree | 5c110943f3ff5516511a14e93af0b5abd6450452 /src/test | |
| parent | 9f79d2f86af73da483f4fe8e2422c15c79221d32 (diff) | |
| parent | 851cc39503a53b38ecbdd03bd391289e095bd7ca (diff) | |
| download | rust-5d95db34a472dc09a90737c83ab533b840dcd224.tar.gz rust-5d95db34a472dc09a90737c83ab533b840dcd224.zip | |
Auto merge of #51630 - joshlf:map-split-perf, r=dtolnay
Optimize RefCell refcount tracking Address the performance concern raised in https://github.com/rust-lang/rust/pull/51466#issuecomment-398255276 cc @dtolnay @nnethercote @rust-lang/wg-compiler-performance cc @RalfJung @jhjourdan for soundness concerns Can somebody kick off a perf run on this? I'm not sure how that's done, but I understand it has to be started manually. The idea of this change is to switch to representing mutable refcount as values below 0 to eliminate some branching that was required with the old algorithm.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/compile-fail/not-panic-safe-2.rs | 2 | ||||
| -rw-r--r-- | src/test/compile-fail/not-panic-safe-3.rs | 2 | ||||
| -rw-r--r-- | src/test/compile-fail/not-panic-safe-4.rs | 2 | ||||
| -rw-r--r-- | src/test/compile-fail/not-panic-safe-6.rs | 2 |
4 files changed, 4 insertions, 4 deletions
diff --git a/src/test/compile-fail/not-panic-safe-2.rs b/src/test/compile-fail/not-panic-safe-2.rs index d750851b719..5490acf4bd6 100644 --- a/src/test/compile-fail/not-panic-safe-2.rs +++ b/src/test/compile-fail/not-panic-safe-2.rs @@ -19,5 +19,5 @@ fn assert<T: UnwindSafe + ?Sized>() {} fn main() { assert::<Rc<RefCell<i32>>>(); //~^ ERROR the type `std::cell::UnsafeCell<i32>` may contain interior mutability and a - //~| ERROR the type `std::cell::UnsafeCell<usize>` may contain interior mutability and a + //~| ERROR the type `std::cell::UnsafeCell<isize>` may contain interior mutability and a } diff --git a/src/test/compile-fail/not-panic-safe-3.rs b/src/test/compile-fail/not-panic-safe-3.rs index cd27b274258..0fac395a115 100644 --- a/src/test/compile-fail/not-panic-safe-3.rs +++ b/src/test/compile-fail/not-panic-safe-3.rs @@ -19,5 +19,5 @@ fn assert<T: UnwindSafe + ?Sized>() {} fn main() { assert::<Arc<RefCell<i32>>>(); //~^ ERROR the type `std::cell::UnsafeCell<i32>` may contain interior mutability and a - //~| ERROR the type `std::cell::UnsafeCell<usize>` may contain interior mutability and a + //~| ERROR the type `std::cell::UnsafeCell<isize>` may contain interior mutability and a } diff --git a/src/test/compile-fail/not-panic-safe-4.rs b/src/test/compile-fail/not-panic-safe-4.rs index 956eca432c5..bf0392018b5 100644 --- a/src/test/compile-fail/not-panic-safe-4.rs +++ b/src/test/compile-fail/not-panic-safe-4.rs @@ -18,5 +18,5 @@ fn assert<T: UnwindSafe + ?Sized>() {} fn main() { assert::<&RefCell<i32>>(); //~^ ERROR the type `std::cell::UnsafeCell<i32>` may contain interior mutability and a - //~| ERROR the type `std::cell::UnsafeCell<usize>` may contain interior mutability and a + //~| ERROR the type `std::cell::UnsafeCell<isize>` may contain interior mutability and a } diff --git a/src/test/compile-fail/not-panic-safe-6.rs b/src/test/compile-fail/not-panic-safe-6.rs index d0ca1db5212..950f0a0b53a 100644 --- a/src/test/compile-fail/not-panic-safe-6.rs +++ b/src/test/compile-fail/not-panic-safe-6.rs @@ -18,5 +18,5 @@ fn assert<T: UnwindSafe + ?Sized>() {} fn main() { assert::<*mut RefCell<i32>>(); //~^ ERROR the type `std::cell::UnsafeCell<i32>` may contain interior mutability and a - //~| ERROR the type `std::cell::UnsafeCell<usize>` may contain interior mutability and a + //~| ERROR the type `std::cell::UnsafeCell<isize>` may contain interior mutability and a } |
