summary refs log tree commit diff
path: root/src/librustc_data_structures/lib.rs
AgeCommit message (Collapse)AuthorLines
2018-04-26[beta] Remove dependency on `parking_lot`Alex Crichton-1/+0
Unfortunately the `parking_lot` crate enables the `synchapi` feature of the `winapi` crate which activates a dependency on `libsynchronization.a`. The MinGW version of `libsynchronization.a` pulls in a dependency `api-ms-core-synch-l1-2-0.dll` which causes rustc to not work on Windows 7 (tracked in #49438) The `parking_lot` crate is not currently used in the compiler unless parallel queries are enabled. This feature is not enabled by default and not used at all in the beta/stable compilers. As a result the dependency in this commit was removed and the CI build which checks parallel queries was disabled. This isn't a great long-term solution but should hopefully be enough of a patch for beta to buy us some more time to figure this out.
2018-03-29Stabilize underscore lifetimesTaylor Cramer-1/+1
2018-03-26Stabilize i128 feature tooMark Mansi-2/+1
2018-03-26Stabilize i128_typeMark Mansi-1/+1
2018-03-26Stabilize conservative_impl_traitTaylor Cramer-1/+1
2018-03-26Stabilize universal_impl_traitTaylor Cramer-1/+1
2018-03-17Add OnDropJohn Kåre Alsaker-0/+8
2018-03-07Replace iterator structures with `impl Trait`.Corey Farwell-0/+1
2018-03-01obtain `UnificationTable` and `snapshot_vec` from `ena` insteadNiko Matsakis-2/+3
The ena version has an improved interface. I suspect `librustc_data_structures` should start migrating out to crates.io in general.
2018-01-28Remove VecCellMark Simulacrum-1/+0
2018-01-28Remove unused blake2b implementationMark Simulacrum-1/+0
2018-01-20Stabilize std::ptr::NonNullSimon Sapin-1/+0
2018-01-20Rename std::ptr::Shared to NonNullSimon Sapin-1/+1
`Shared` is now a deprecated `type` alias. CC https://github.com/rust-lang/rust/issues/27730#issuecomment-352800629
2017-12-17Add sync module to rustc_data_structuresJohn Kåre Alsaker-0/+9
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].