summary refs log tree commit diff
path: root/src/librustc_data_structures/bitvec.rs
AgeCommit message (Collapse)AuthorLines
2018-03-20Implement some trivial size_hints for various iteratorsPhlosioneer-0/+5
This also implements ExactSizeIterator where applicable. Addresses most of the Iterator traits mentioned in #23708.
2018-02-22Run rustfmt over bitvec.rs and region_infer/values.rsSantiago Pastorino-32/+44
2018-02-22Fix typo otherwies -> otherwiseSantiago Pastorino-1/+1
2018-02-22Use Sparse bitsets instead of dense ones for NLL resultsSantiago Pastorino-0/+197
Fixes #48170
2018-02-22Move word type and word size usage to constants & make it of 128 bitsSantiago Pastorino-23/+26
2018-01-26Make region inference use a dirty listSantiago Pastorino-0/+11
Fixes #47602
2017-11-02add/fix various comments to `BitMatrix`Niko Matsakis-15/+21
Notably, the (hitherto unused) `less_than` method was not at all what it purported to be. It in fact computes the opposite.
2017-09-24Point at parameter type on E0301Esteban Küber-1/+1
On "the parameter type `T` may not live long enough" error, point to the parameter type suggesting lifetime bindings: ``` error[E0310]: the parameter type `T` may not live long enough --> $DIR/lifetime-doesnt-live-long-enough.rs:28:5 | 27 | struct Foo<T> { | - help: consider adding an explicit lifetime bound `T: 'static`... 28 | foo: &'static T | ^^^^^^^^^^^^^^^ | note: ...so that the reference type `&'static T` does not outlive the data it points at --> $DIR/lifetime-doesnt-live-long-enough.rs:28:5 | 28 | foo: &'static T | ^^^^^^^^^^^^^^^ ```
2017-08-15use field init shorthand EVERYWHEREZack M. Davis-1/+1
Like #43008 (f668999), but _much more aggressive_.
2017-08-01Fixed all unnecessary muts in language coreIsaac van Bakel-1/+1
2017-02-10SwitchInt over SwitchSimonas Kazlauskas-0/+4
This removes another special case of Switch by replacing it with the more general SwitchInt. While this is more clunky currently, there’s no reason we can’t make it nice (and efficient) to use.
2017-01-12Mark some BitVector methods with #[inline]Michael Woerister-0/+9
2016-08-09generalize BitMatrix to be NxM and not just NxNNiko Matsakis-16/+67
2016-08-09isolate predecessor computationNiko Matsakis-0/+6
The new `Predecessors` type computes a set of interesting targets and their HIR predecessors, and discards everything in between.
2016-06-11remove redundant test caseSrinivas Reddy Thatiparthy-15/+1
2016-06-01switch to BitVector, simplify target_block logicScott A Carr-1/+1
clarify comments and panic message
2016-04-28Make the codegen unit partitioner also emit item declarations.Michael Woerister-11/+22
2016-04-03Use a BitVector instead of Vec<bool> for recording cleanup blocksJames Miller-1/+26
Also adds a FromIterator impl for BitVector to allow construction of a BitVector from an iterator yeilding bools.
2016-03-30Add some standard traversal iterators for MIRJames Miller-0/+1
Adds Preorder, Postorder and Reverse Postorder traversal iterators. Also makes trans/mir use Reverse Postorder traversal for blocks.
2016-03-05apply rustfmt to librustc_data_structures, correcting ↵Niko Matsakis-15/+21
rust-lang-nursery/rustfmt#836
2016-02-23[MIR] Change SimplifyCfg pass to use bitvecSimonas Kazlauskas-0/+79
BitVector is much more space efficient.
2016-01-21[MIR] Promote temps to alloca on multi-assignmentSimonas Kazlauskas-2/+4
Fixes #31002
2015-08-21nits from pnkfelixNiko Matsakis-23/+30
2015-08-18generalize bitvector code into a bitmatrix; write some unit tests, butNiko Matsakis-9/+176
probably not enough. This code is so simple, what could possibly go wrong?
2015-07-09Use vec![elt; n] where possibleUlrik Sverdrup-3/+1
The common pattern `iter::repeat(elt).take(n).collect::<Vec<_>>()` is exactly equivalent to `vec![elt; n]`, do this replacement in the whole tree. (Actually, vec![] is smart enough to only call clone n - 1 times, while the former solution would call clone n times, and this fact is virtually irrelevant in practice.)
2015-04-17Add licenses.Niko Matsakis-0/+10
2015-04-17Port to using the newer graph, which offers iterators instead of theNiko Matsakis-0/+32
older `each` method, but is otherwise identical.