661 Commits

Author SHA1 Message Date
Niko Matsakis
ab1c1bc6bc mir-borrowck returns closure requirements, mir-typeck enforces 2017-12-07 05:28:00 -05:00
Niko Matsakis
e5dc4ba280 renumber types in ty::Const and relate them to mir::Constant 2017-12-07 05:27:03 -05:00
Niko Matsakis
a6adc74e87 adopt longer and shorter rather than fr and outlived_fr 2017-12-04 11:30:39 -05:00
Niko Matsakis
a3935961f0 region_infer: Fix typo in comment 2017-12-04 10:36:54 -05:00
Niko Matsakis
243bf3f718 rename "free region" to "universally quantified region"
This has been bugging me. All the regions appear free in the source;
the real difference is that some of them are universally quantified
(those in the function signature) and some are existentially
quantified (those for which we are inferring values).
2017-12-04 09:14:38 -05:00
Niko Matsakis
e9067bd5cc MIR dump: restructure pretty to be more extensible by other code 2017-12-04 09:14:37 -05:00
Niko Matsakis
49d2274cfe constraint_generation: create liveness constraints more thoroughly
We now visit just the stuff in the CFG, and we add liveness
constraints for all the random types, regions etc that appear within
rvalues and statements.
2017-12-04 09:14:35 -05:00
Niko Matsakis
663e7a4f08 promote region_infer into its own module 2017-12-04 08:51:13 -05:00
Niko Matsakis
abd7d88139 move free_regions_map into infer::outlives 2017-12-04 08:51:12 -05:00
Zack M. Davis
22b31758ec region_infer: BitMatrix representation of region values
This should be more efficient than allocating two BTreeSets for every
region variable?—as it is written in #45670.
2017-12-04 08:51:11 -05:00
Paul Daniel Faria
a9cb25b23a inform constraint generation using maybe-init
In particular, if we see a variable is DROP-LIVE, but it is not
MAYBE-INIT, then we can ignore the drop. This leavess attempt to use
more complex refinements of the idea (e.g., for subpaths or subfields)
to future work.
2017-12-04 08:51:11 -05:00