about summary refs log tree commit diff
path: root/src/librustc_data_structures/graph/implementation
AgeCommit message (Collapse)AuthorLines
2020-08-30mv compiler to compiler/mark-497/+0
2020-04-05Stop importing int/float modules in librustc_*Linus Färnstrand-1/+0
2019-12-22Format the worldMark Rousskov-71/+37
2019-10-21Remove many unnecessary trait derivations.Nicholas Nethercote-2/+2
2019-10-01Fix clippy warningsYuki Okushi-2/+2
2019-09-29remove bit_set re-export from rustc_data_structurescsmoe-1/+1
2019-07-03Remove needless lifetimesJeremy Stucki-3/+3
2019-02-10rustc: doc commentsAlexander Regueiro-2/+2
2019-02-09librustc_data_structures => 2018Taiki Endo-16/+12
2018-12-25Remove licensesMark Rousskov-20/+0
2018-09-18Merge indexed_set.rs into bitvec.rs, and rename it bit_set.rs.Nicholas Nethercote-4/+4
Currently we have two files implementing bitsets (and 2D bit matrices). This commit combines them into one, taking the best features from each. This involves renaming a lot of things. The high level changes are as follows. - bitvec.rs --> bit_set.rs - indexed_set.rs --> (removed) - BitArray + IdxSet --> BitSet (merged, see below) - BitVector --> GrowableBitSet - {,Sparse,Hybrid}IdxSet --> {,Sparse,Hybrid}BitSet - BitMatrix --> BitMatrix - SparseBitMatrix --> SparseBitMatrix The changes within the bitset types themselves are as follows. ``` OLD OLD NEW BitArray<C> IdxSet<T> BitSet<T> -------- ------ ------ grow - grow new - (remove) new_empty new_empty new_empty new_filled new_filled new_filled - to_hybrid to_hybrid clear clear clear set_up_to set_up_to set_up_to clear_above - clear_above count - count contains(T) contains(&T) contains(T) contains_all - superset is_empty - is_empty insert(T) add(&T) insert(T) insert_all - insert_all() remove(T) remove(&T) remove(T) words words words words_mut words_mut words_mut - overwrite overwrite merge union union - subtract subtract - intersect intersect iter iter iter ``` In general, when choosing names I went with: - names that are more obvious (e.g. `BitSet` over `IdxSet`). - names that are more like the Rust libraries (e.g. `T` over `C`, `insert` over `add`); - names that are more set-like (e.g. `union` over `merge`, `superset` over `contains_all`, `domain_size` over `num_bits`). Also, using `T` for index arguments seems more sensible than `&T` -- even though the latter is standard in Rust collection types -- because indices are always copyable. It also results in fewer `&` and `*` sigils in practice.
2018-08-09A few cleanups for rustc_data_structuresljedrz-4/+4
2018-08-01Split out growth functionality into BitVector typeMark Rousskov-4/+4
2018-07-25parameterize `BitVector` and `BitMatrix` by their index typesNiko Matsakis-1/+1
2018-07-12introduce a generic SCC computationNiko Matsakis-1/+1
2018-07-12rename `control_flow_graph` to `graph`Niko Matsakis-0/+556