Ariel Ben-Yehuda
157231183c
start extracting things into modules
...
The borrow_check module is too big for its own good
2017-12-10 17:46:29 +02:00
Niko Matsakis
1db58d7fa5
rename Binder::new_not_binding
to Binder::dummy
...
per pnkfelix's suggestion
2017-12-07 05:28:04 -05:00
Niko Matsakis
d5ef3e262f
replace InferCtxt::fn_sig
with closure_sig
2017-12-07 05:28:01 -05:00
Niko Matsakis
05441abd2b
add closure requirement tests, improve debugging output
...
The overall format is now easier to read. Also, There is now graphviz
output, as well as a `#[rustc_regions]` annotation that dumps internal
state.
2017-12-07 05:28:00 -05:00
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