rust/src/librustc_mir
bors 881a7cd86e Auto merge of #49836 - nikomatsakis:nll-facts-prep, r=pnkfelix
prep work for using timely dataflow with NLL

Two major changes:

**Two-phase borrows are overhauled.** We no longer have two bits per borrow. Instead, we track -- for each borrow -- an (optional) "activation point". Then, for each point P where the borrow is in scope, we check where P falls relative to the activation point. If P is between the reservation point and the activation point, then this is the "reservation" phase of the borrow, else the borrow is considered active. This is simpler and means that the dataflow doesn't have to care about 2-phase at all, at last not yet.

**We no longer support using the MIR borrow checker without NLL.** It is going to be increasingly untenable to support lexical mode as we go forward, I think, and also of increasingly little value. This also exposed a few bugs in NLL mode due to increased testing.

r? @pnkfelix
cc @bobtwinkles
2018-04-17 14:23:57 +00:00
..
borrow_check Auto merge of #49836 - nikomatsakis:nll-facts-prep, r=pnkfelix 2018-04-17 14:23:57 +00:00
build Get rid of SpannedIdent 2018-04-06 11:48:19 +03:00
dataflow remove -Znll -- borrowck=mir implies nll now 2018-04-15 07:13:42 -04:00
hair Avoid comparing fields by name when possible 2018-04-12 23:06:03 +03:00
interpret Auto merge of #49947 - oli-obk:turing_complete_const_eval, r=nagisa 2018-04-15 21:18:37 +00:00
monomorphize Stop referring to statics' AllocIds directly 2018-04-14 12:21:46 +02:00
transform Auto merge of #49202 - csmoe:trait_engine, r=nikomatsakis 2018-03-27 14:31:43 +00:00
util Add ok-wrapping to catch blocks, per RFC 2018-04-10 20:03:40 -07:00
Cargo.toml Move librustc_const_eval to librustc_mir 2018-03-08 08:08:14 +01:00
diagnostics.rs Make resuming generators unsafe instead of the creation of immovable generators. Fixes #47787 2018-03-21 00:09:58 +01:00
lib.rs relocate BorrowData etc into borrow_check::borrow_set 2018-04-15 07:06:27 -04:00
shim.rs remove defaulting to unit 2018-03-14 12:44:51 +08:00