rust/src/test
bors efebe45cc0 Auto merge of #25856 - bluss:binary-heap-hole, r=Gankro
collections: Make BinaryHeap panic safe in sift_up / sift_down

Use a struct called Hole that keeps track of an invalid location
in the vector and fills the hole on drop.

I include a run-pass test that the current BinaryHeap fails, and the new
one passes.

NOTE: The BinaryHeap will still be inconsistent after a comparison fails. It will
not have the heap property. What we fix is just that elements will be valid
values.

This is actually a performance win -- the new code does not bother to write in `zeroed()`
values in the holes, it just leaves them as they were.

Net result is something like a 5% decrease in runtime for `BinaryHeap::from_vec`. This
can be further improved by using unchecked indexing (I confirmed it makes a difference,
not a surprise with the non-sequential access going on), but let's leave that for another PR.
Safety first 😉 

Fixes #25842
2015-05-28 20:16:08 +00:00
..
auxiliary Auto merge of #25790 - eddyb:oh-snap-ctfe-arrived, r=alexcrichton 2015-05-27 08:47:53 +00:00
bench
codegen Revamp codegen tests to check IR quality instead of quantity 2015-05-27 12:08:31 +02:00
compile-fail Auto merge of #25840 - arielb1:ptr-compare-fixes, r=nrc 2015-05-28 03:51:58 +00:00
compile-fail-fulldeps Auto merge of #25168 - Manishearth:register_attr, r=eddyb 2015-05-24 09:38:26 +00:00
debuginfo Use const fn to abstract away the contents of UnsafeCell & friends. 2015-05-27 11:19:03 +03:00
parse-fail
pretty
run-fail
run-fail-fulldeps
run-make Fix ICE trying to pass DST to C functions 2015-05-21 10:46:30 +02:00
run-pass Auto merge of #25856 - bluss:binary-heap-hole, r=Gankro 2015-05-28 20:16:08 +00:00
run-pass-fulldeps Fix test run-pass-fulldeps\issue-15149.rs on Windows 2015-05-19 20:37:17 +03:00
run-pass-valgrind Use const fn to abstract away the contents of UnsafeCell & friends. 2015-05-27 11:19:03 +03:00
rustdoc Auto merge of #25675 - bluss:rustdoc-assoc-types-index, r=alexcrichton 2015-05-26 21:36:57 +00:00