summary refs log tree commit diff
path: root/src/librustc_data_structures/lib.rs
AgeCommit message (Collapse)AuthorLines
2017-11-16IndexVec: add `'_` to make clear where borrowing is happeningNiko Matsakis-0/+1
2017-10-16Use SipHasher128 in StableHasher.Michael Woerister-0/+1
2017-10-16rustc_data_structures: Add implementation of 128 bit SipHash.Michael Woerister-0/+1
2017-09-02stabilize mem::discriminant (closes #24263)Alex Burka-1/+0
2017-08-25*: remove crate_{name,type} attributesTamir Duberstein-3/+0
Fixes #41701.
2017-08-19rustc: Remove some dead codeVadim Petrochenkov-3/+1
2017-08-02Remove unused fnv hash codeMatt Brubeck-1/+0
2017-07-26Auto merge of #43373 - alexcrichton:stabilize-1.20.0, r=aturonbors-1/+0
Stabilize more APIs for the 1.20.0 release In addition to the few stabilizations that have already landed, this cleans up the remaining APIs that are in `final-comment-period` right now to be stable by the 1.20.0 release
2017-07-25std: Stabilize `manually_drop` featureAlex Crichton-1/+0
Stabilizes * `core::mem::ManuallyDrop` * `std::mem::ManuallyDrop` * `ManuallyDrop::new` * `ManuallyDrop::into_inner` * `ManuallyDrop::drop` * `Deref for ManuallyDrop` * `DerefMut for ManuallyDrop` Closes #40673
2017-07-25Bump master to 1.21.0Alex Crichton-3/+0
This commit bumps the master branch's version to 1.21.0 and also updates the bootstrap compiler from the freshly minted beta release.
2017-07-06remove associated_consts feature gateSean McArthur-1/+1
2017-06-30Revert "Stabilize RangeArgument"Steven Fackler-0/+1
This reverts commit 143206d54d7558c2326212df99efc98110904fdb.
2017-06-24Stabilize RangeArgumentSteven Fackler-1/+0
Move it and Bound to core::ops while we're at it. Closes #30877
2017-06-19Bump version and stage0 compilerAlex Crichton-3/+0
2017-06-15Remove struct_field_attributes feature gateWonwoo Choi-1/+1
2017-05-27Stabilize unions with `Copy` fields and no destructorVadim Petrochenkov-1/+0
2017-05-11rustc: Remove #![unstable] annotationAlex Crichton-3/+4
These are now no longer necessary with `-Z force-unstable-if-unmarked`
2017-04-12ICH: Replace old, transitive metadata hashing with direct hashing approach.Michael Woerister-0/+1
Instead of collecting all potential inputs to some metadata entry and hashing those, we directly hash the values we are storing in metadata. This is more accurate and doesn't suffer from quadratic blow-up when many entries have the same dependencies.
2017-04-09Move away from the ad-hoc NoDrop unionsSimonas Kazlauskas-0/+1
2017-04-06Introduce HashStable trait and base ICH implementations on it.Michael Woerister-0/+2
This initial commit provides implementations for HIR, MIR, and everything that also needs to be supported for those two.
2017-03-29rustbuild: Update bootstrap compilerAlex Crichton-1/+0
Now that we've also updated cargo's release process this commit also changes the download location of Cargo from Cargos archives back to the static.r-l.o archives. This should ensure that the Cargo download is the exact Cargo paired with the rustc that we release.
2017-03-17Stabilize rc_raw feature, closes #37197Aaron Turon-1/+0
2017-03-10Add extra methods to IndexVec and implement TypeFoldable for itJames Miller-0/+1
Adds `get`/`get_mut` accessors and `drain`/`drain_enumerated` iterators to IndexVec. Implements TypeFoldable for IndexVec.
2017-02-28move the `FreeRegionMap` into `TypeckTables`Niko Matsakis-0/+1
2017-02-03Bump version, upgrade bootstrapAlex Crichton-2/+1
This commit updates the version number to 1.17.0 as we're not on that version of the nightly compiler, and at the same time this updates src/stage0.txt to bootstrap from freshly minted beta compiler and beta Cargo.
2017-01-14add required imports & featureDjzin-0/+1
2017-01-08Auto merge of #38679 - alexcrichton:always-deny-warnings, r=nrcbors-1/+1
Remove not(stage0) from deny(warnings) Historically this was done to accommodate bugs in lints, but there hasn't been a bug in a lint since this feature was added which the warnings affected. Let's completely purge warnings from all our stages by denying warnings in all stages. This will also assist in tracking down `stage0` code to be removed whenever we're updating the bootstrap compiler.
2017-01-03Add drain method to AccumulateVec/ArrayVecAndrew Cann-0/+2
You can now call .drain(..) on SmallVec, AccumulateVec and ArrayVec
2016-12-30Fix rebase fallout and compilation fixesest31-0/+2
2016-12-29Remove not(stage0) from deny(warnings)Alex Crichton-1/+1
Historically this was done to accommodate bugs in lints, but there hasn't been a bug in a lint since this feature was added which the warnings affected. Let's completely purge warnings from all our stages by denying warnings in all stages. This will also assist in tracking down `stage0` code to be removed whenever we're updating the bootstrap compiler.
2016-12-15Use StableHasher everywhereAriel Ben-Yehuda-0/+3
The standard implementations of Hasher have architecture-dependent results when hashing integers. This causes problems when the hashes are stored within metadata - metadata written by one host architecture can't be read by another. To fix that, implement an architecture-independent StableHasher and use it in all places an architecture-independent hasher is needed. Fixes #38177.
2016-11-13Make names of types used in LLVM IR stable.Michael Woerister-0/+1
Before this PR, type names could depend on the cratenum being used for a given crate and also on the source location of closures. Both are undesirable for incremental compilation where we cache LLVM IR and don't want it to depend on formatting or in which order crates are loaded.
2016-11-11Change implementation of syntax::util::SmallVector to use ↵Mark-Simulacrum-0/+1
data_structures::SmallVec.
2016-11-08Replace FnvHasher use with FxHasher.Nicholas Nethercote-0/+1
This speeds up compilation by 3--6% across most of rustc-benchmarks.
2016-10-30Replace all uses of SHA-256 with BLAKE2b.Michael Woerister-0/+1
2016-10-25Add AccumulateVec, a potentially stack-allocated vector.Mark-Simulacrum-0/+5
AccumulateVec is generic over the Array trait, which is currently only implemented for [T; 8].
2016-10-17ICH: Use 128-bit Blake2b hash instead of 64-bit SipHash for incr. comp. ↵Michael Woerister-0/+1
fingerprints.
2016-10-10Move IdxSetBuf and BitSlice to rustc_data_structuresWesley Wiser-0/+2
Resolves a FIXME
2016-08-29incr.comp.: Move lock files out of directory being lockedMichael Woerister-1/+1
2016-08-29Move `flock.rs` from librustdoc to librustc_data_structures.Michael Woerister-0/+4
2016-06-23add control flow graph and algorithms. add dominator to mirScott A Carr-0/+1
2016-06-09introduce the type-safe IdxVec and use it instead of loose indexesAriel Ben-Yehuda-0/+1
2016-05-31add a snapshottable hashmapNiko Matsakis-0/+1
2016-05-13add cycle-reporting logicAriel Ben-Yehuda-0/+2
Fixes #33344
2016-03-05apply rustfmt to librustc_data_structures, correcting ↵Niko Matsakis-1/+2
rust-lang-nursery/rustfmt#836
2016-01-26Auto merge of #31120 - alexcrichton:attribute-deny-warnings, r=brsonbors-0/+1
This commit removes the `-D warnings` flag being passed through the makefiles to all crates to instead be a crate attribute. We want these attributes always applied for all our standard builds, and this is more amenable to Cargo-based builds as well. Note that all `deny(warnings)` attributes are gated with a `cfg(stage0)` attribute currently to match the same semantics we have today
2016-01-26std: Stabilize custom hasher support in HashMapAlex Crichton-1/+0
This commit implements the stabilization of the custom hasher support intended for 1.7 but left out due to some last-minute questions that needed some decisions. A summary of the actions done in this PR are: Stable * `std::hash::BuildHasher` * `BuildHasher::Hasher` * `BuildHasher::build_hasher` * `std::hash::BuildHasherDefault` * `HashMap::with_hasher` * `HashMap::with_capacity_and_hasher` * `HashSet::with_hasher` * `HashSet::with_capacity_and_hasher` * `std::collections::hash_map::RandomState` * `RandomState::new` Deprecated * `std::collections::hash_state` * `std::collections::hash_state::HashState` - this trait was also moved into `std::hash` with a reexport here to ensure that we can have a blanket impl to prevent immediate breakage on nightly. Note that this is unstable in both location. * `HashMap::with_hash_state` - renamed * `HashMap::with_capacity_and_hash_state` - renamed * `HashSet::with_hash_state` - renamed * `HashSet::with_capacity_and_hash_state` - renamed Closes #27713
2016-01-24mk: Move from `-D warnings` to `#![deny(warnings)]`Alex Crichton-0/+1
This commit removes the `-D warnings` flag being passed through the makefiles to all crates to instead be a crate attribute. We want these attributes always applied for all our standard builds, and this is more amenable to Cargo-based builds as well. Note that all `deny(warnings)` attributes are gated with a `cfg(stage0)` attribute currently to match the same semantics we have today
2016-01-14implement the obligation forest data structure and add some unit testsNiko Matsakis-1/+5
2016-01-05Introduce the DepGraph and DepTracking map abstractions,Niko Matsakis-0/+1
along with a README explaining how they are to be used