rust/src/librustc_data_structures
bors 785643a5eb Auto merge of #45668 - nikomatsakis:nll-free-region, r=arielb1
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-06 23:30:57 +00:00
..
control_flow_graph rustc: Remove some dead code 2017-08-19 13:27:16 +03:00
graph Refactor to use debug_struct in several Debug impls 2017-10-09 20:09:08 +02:00
obligation_forest rustc: Remove some dead code 2017-08-19 13:27:16 +03:00
snapshot_map Replace FnvHasher use with FxHasher. 2016-11-08 15:14:59 +11:00
unify Suggest Ok(()) when encountering Ok() 2017-08-28 14:13:14 +02:00
veccell
accumulate_vec.rs Fix typos & us spellings 2017-08-15 21:56:30 +02:00
array_vec.rs use field init shorthand EVERYWHERE 2017-08-15 15:29:17 -07:00
base_n.rs Fix various useless derefs and slicings 2017-03-27 08:58:00 +02:00
bitslice.rs Analyse storage liveness and preserve it during generator transformation 2017-09-13 23:28:10 +02:00
bitvec.rs add/fix various comments to BitMatrix 2017-11-02 04:40:49 -04:00
blake2b.rs rustc: Remove some dead code 2017-08-19 13:27:16 +03:00
Cargo.toml Remove internal liblog 2017-03-23 11:28:00 -07:00
flock.rs Fix definitions of ULONG_PTR 2017-05-06 15:46:16 +01:00
fx.rs rustc: Remove some dead code 2017-08-19 13:27:16 +03:00
indexed_set.rs introduce liveness constraints into NLL code 2017-10-31 12:41:38 -04:00
indexed_vec.rs Make DEBUG_FORMAT = custom work 2017-11-04 19:10:44 -03:00
lib.rs Use SipHasher128 in StableHasher. 2017-10-16 14:44:40 +02:00
sip128.rs rustc_data_structures: Add implementation of 128 bit SipHash. 2017-10-16 14:44:40 +02:00
small_vec.rs Fix typos & us spellings 2017-08-15 21:56:30 +02:00
snapshot_vec.rs rustc: Preallocate when building the dep graph 2017-09-14 21:28:55 -07:00
stable_hasher.rs Update some comments about StableHasher. 2017-10-26 11:10:07 +02:00
transitive_relation.rs add/fix various comments to BitMatrix 2017-11-02 04:40:49 -04:00
tuple_slice.rs