about summary refs log tree commit diff
path: root/src/librustc_data_structures
AgeCommit message (Collapse)AuthorLines
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
2018-01-20Rename std::ptr::Shared to NonNullSimon Sapin-4/+4
`Shared` is now a deprecated `type` alias. CC https://github.com/rust-lang/rust/issues/27730#issuecomment-352800629
2018-01-08Shorten names of some compiler generated artifacts.Michael Woerister-9/+13
2018-01-07Try to fix a perf regression by updating logMalo Jaffré-2/+2
Upgrade `log` to `0.4` in multiple crates.
2018-01-01Fix docs for future pulldown migrationMalo Jaffré-1/+1
2017-12-25Auto merge of #46914 - mikeyhew:raw_pointer_self, r=arielb1bors-3/+4
Convert warning about `*const _` to a future-compat lint #46664 was merged before I could convert the soft warning about method lookup on `*const _` into a future-compatibility lint. This PR makes that change. fixes #46837 tracking issue for the future-compatibility lint: #46906 r? @arielb1
2017-12-23Annotate raw pointer target typesChristopher Durham-2/+3
cc https://github.com/rust-lang/rust/issues/46906 cc https://github.com/rust-lang/rust/pull/46914
2017-12-22fix errors in rustc_data_structuresMichael Hewson-1/+1
2017-12-21Make IndexVec implement Send and SyncJohn Kåre Alsaker-1/+1
2017-12-17Add sync module to rustc_data_structuresJohn Kåre Alsaker-0/+2342
2017-12-16Auto merge of #46560 - Yoric:incr, r=michaelwoeristerbors-0/+4
Loading the dependency graph in the background Patch is a bit longer than I expected, due to the fact that most of this code relies upon a `Session` value, which is not `Sync`.
2017-12-13Implement Borrow/BorrowMut/ToOwned relationships betweed IdxSetBuf and IdxSet.Felix S. Klock II-0/+20
2017-12-09Use Try syntax for Option in place of macros or matchMatt Brubeck-4/+2
2017-12-07Issue #46555 - Making IndexVec Send if its contents are SendDavid Teller-0/+4
2017-12-04transtive_relation: fix typo in comment for `parents`Niko Matsakis-1/+1
2017-12-04extend TransitiveRelation with `parents` functionNiko Matsakis-2/+128
2017-12-04rename `greater_than` to `reachable_from`Niko Matsakis-2/+3
2017-11-28incr.comp.: Make a bunch of query results encodable.Michael Woerister-0/+21
2017-11-21fix some typosMartin Lindhe-1/+1
2017-11-16IndexVec: add `'_` to make clear where borrowing is happeningNiko Matsakis-2/+3
2017-11-16make `RegionVid` implement `Idx` and use `IndexVec`Niko Matsakis-0/+5
2017-11-06Auto merge of #45668 - nikomatsakis:nll-free-region, r=arielb1bors-17/+23
extend NLL with preliminary support for free regions on functions This PR extends https://github.com/rust-lang/rust/pull/45538 with support for free regions. This is pretty preliminary and will no doubt want to change in various ways, particularly as we add support for closures, but it's enough to get the basic idea in place: - We now create specific regions to represent each named lifetime declared on the function. - Region values can contain references to these regions (represented for now as a `BTreeSet<RegionIndex>`). - If we wind up trying to infer that `'a: 'b` must hold, but no such relationship was declared, we report an error. It also does a number of drive-by refactorings. r? @arielb1 cc @spastorino
2017-11-04Make DEBUG_FORMAT = custom workSantiago Pastorino-17/+17
Fixes #45763, ht by @durka
2017-11-02add/fix various comments to `BitMatrix`Niko Matsakis-17/+23
Notably, the (hitherto unused) `less_than` method was not at all what it purported to be. It in fact computes the opposite.