summary refs log tree commit diff
path: root/src/librustc_data_structures
AgeCommit message (Collapse)AuthorLines
2018-04-26[beta] Remove dependency on `parking_lot`Alex Crichton-6/+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-31Auto merge of #49201 - Phlosioneer:add-trivial-size-hints, r=SimonSapinbors-0/+18
Implement some trivial size_hints for various iterators This also implements ExactSizeIterator where applicable. Addresses most of the Iterator traits mentioned in #23708. I intend to do more, but I don't want to make the PR too large.
2018-03-29Move RangeArguments to {core::std}::ops and rename to RangeBoundsSimon Sapin-9/+7
These unstable items are deprecated: * The `std::collections::range::RangeArgument` reexport * The `std::collections::range` module.
2018-03-29Move alloc::Bound to {core,std}::opsSimon Sapin-1/+1
The stable reexport `std::collections::Bound` is now deprecated. Another deprecated reexport could be added in `alloc`, but that crate is unstable.
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-23Rollup merge of #49030 - Zoxc:misc, r=michaelwoeristerAlex Crichton-30/+15
Misc changes from my parallel rustc branch r? @michaelwoerister
2018-03-23Rollup merge of #48265 - SimonSapin:nonzero, r=KodrAusAlex Crichton-3/+3
Add 12 num::NonZero* types for primitive integers, deprecate core::nonzero RFC: https://github.com/rust-lang/rfcs/pull/2307 Tracking issue: ~~https://github.com/rust-lang/rust/issues/27730~~ https://github.com/rust-lang/rust/issues/49137 Fixes https://github.com/rust-lang/rust/issues/27730
2018-03-20Implement some trivial size_hints for various iteratorsPhlosioneer-0/+18
This also implements ExactSizeIterator where applicable. Addresses most of the Iterator traits mentioned in #23708.
2018-03-19Convert SerializedDepGraph to be a struct-of-arraysWesley Wiser-0/+7
Fixes #47326
2018-03-17Use num::NonZero* instead of NonZero<_> in rustc and testsSimon Sapin-3/+3
2018-03-17Add OnDropJohn Kåre Alsaker-0/+8
2018-03-17Add an Default impl for LockJohn Kåre Alsaker-0/+7
2018-03-17Remove rustc_global!John Kåre Alsaker-30/+0
2018-03-15Rollup merge of #48840 - varkor:idxset-cleanup, r=pnkfelixkennytm-64/+0
Remove some unnecessary IdxSet methods This replaces `IdxSet:: reset_to_empty` with `IdxSet:: clear`, and `IdxSet::elems`/`IdxSet::each_bit` with `IdxSet::iter`. Based on some [comments on #rustc](https://botbot.me/mozilla/rustc/2018-01-23/?msg=96063396). r? @pnkfelix
2018-03-13add `canonicalize` method to `InferCtxt` [VIC]Niko Matsakis-1/+1
2018-03-09Move PROFQ_CHAN to a Session fieldJohn Kåre Alsaker-23/+0
2018-03-08Rollup merge of #48808 - Zoxc:reg-diag, r=michaelwoeristerManish Goregaokar-39/+87
Move REGISTERED_DIAGNOSTICS to a ParseSess field r? @michaelwoerister
2018-03-08Rollup merge of #48699 - frewsxcv:frewsxcv-impl-trait, r=nikomatsakisManish Goregaokar-99/+53
Replace iterator structures with `impl Trait`. Two commits: * Replace iterator structures with `impl Trait`. * Run rustfmt on `src/librustc_data_structures/graph/mod.rs`.
2018-03-08Produce instead of pointersOliver Schneider-0/+8
2018-03-08Add with_lock, with_read_lock and with_write_lockJohn Kåre Alsaker-39/+87
2018-03-07Run rustfmt on `src/librustc_data_structures/graph/mod.rs`.Corey Farwell-24/+29
2018-03-07Replace iterator structures with `impl Trait`.Corey Farwell-77/+26
2018-03-07Merge branch 'metadata-send-sync' of https://github.com/Zoxc/rust into ↵Alex Crichton-7/+43
update-cargo
2018-03-07Make metadata references Send + SyncJohn Kåre Alsaker-7/+43
2018-03-06Remove IdxSet::elemsvarkor-26/+0
2018-03-06Remove IdxSet::each_bitvarkor-33/+0
2018-03-06Remove IdxSet::reset_to_emptyvarkor-5/+0
2018-03-05while let all the thingsleonardo.yvens-7/+1
2018-03-04Auto merge of #48587 - Zoxc:transitive-relation, r=nikomatsakisbors-10/+10
Make TransitiveRelation thread safe. Avoid locking by using get_mut in some cases r? @nikomatsakis
2018-03-01Bump enaSean Griffin-1/+1
2018-03-01Remove dead codeSean Griffin-798/+0
These modules were replaced with re-exports from ena
2018-03-01obtain `UnificationTable` and `snapshot_vec` from `ena` insteadNiko Matsakis-2/+4
The ena version has an improved interface. I suspect `librustc_data_structures` should start migrating out to crates.io in general.
2018-02-27Make TransitiveRelation thread safe. Avoid locking by using get_mut in some ↵John Kåre Alsaker-10/+10
cases.
2018-02-24Rollup merge of #48402 - eddyb:y-u-no-inline, r=nikomatsakisManish Goregaokar-0/+9
rustc_data_structures: add missing #[inline]. r? @nikomatsakis
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/+212
Fixes #48170
2018-02-22Move word type and word size usage to constants & make it of 128 bitsSantiago Pastorino-23/+26
2018-02-21rustc_data_structures: add missing #[inline].Eduard-Mihai Burtescu-0/+9
2018-02-18Generate documentation for auto-trait implsAaron Hill-0/+5
A new section is added to both both struct and trait doc pages. On struct/enum pages, a new 'Auto Trait Implementations' section displays any synthetic implementations for auto traits. Currently, this is only done for Send and Sync. On trait pages, a new 'Auto Implementors' section displays all types which automatically implement the trait. Effectively, this is a list of all public types in the standard library. Synthesized impls for a particular auto trait ('synthetic impls') take into account generic bounds. For example, a type 'struct Foo<T>(T)' will have 'impl<T> Send for Foo<T> where T: Send' generated for it. Manual implementations of auto traits are also taken into account. If we have the following types: 'struct Foo<T>(T)' 'struct Wrapper<T>(Foo<T>)' 'unsafe impl<T> Send for Wrapper<T>' // pretend that Wrapper<T> makes this sound somehow Then Wrapper will have the following impl generated: 'impl<T> Send for Wrapper<T>' reflecting the fact that 'T: Send' need not hold for 'Wrapper<T>: Send' to hold Lifetimes, HRTBS, and projections (e.g. '<T as Iterator>::Item') are taken into account by synthetic impls However, if a type can *never* implement a particular auto trait (e.g. 'struct MyStruct<T>(*const T)'), then a negative impl will be generated (in this case, 'impl<T> !Send for MyStruct<T>') All of this means that a user should be able to copy-paste a synthetic impl into their code, without any observable changes in behavior (assuming the rest of the program remains unchanged).
2018-02-17fix more typos found by codespell.Matthias Krüger-1/+1
2018-02-10Rollup merge of #47835 - Mark-Simulacrum:remove-data-structs, r=nikomatsakiskennytm-412/+0
Remove unused data structures Cleanup; as far as I can tell the compiler no longer uses these.
2018-01-28Remove VecCellMark Simulacrum-48/+0
2018-01-28Remove unused blake2b implementationMark Simulacrum-364/+0
2018-01-26Make region inference use a dirty listSantiago Pastorino-0/+11
Fixes #47602
2018-01-20Stabilize std::ptr::NonNullSimon Sapin-1/+0