| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2018-06-19 | Avoid allocations in `has_any_child_of`. | Nicholas Nethercote | -11/+18 | |
| `has_any_child_of` is hot. It allocates a `Vec` that almost always doesn't exceed a length of 1. This patch peels off the first iteration of the loop, avoiding the need for the `Vec` creation in ~99% of cases. | ||||
| 2018-06-06 | When NLL has illegal move due to borrowed content, provide feedback about ↵ | Felix S. Klock II | -5/+20 | |
| why the move wasn't a copy. This should address #51190. | ||||
| 2018-05-30 | Auto merge of #51106 - davidtwco:issue-50934, r=nikomatsakis | bors | -13/+77 | |
| Optimize the way that loans are killed in borrowck dataflow Fixes #50934. r? @nikomatsakis | ||||
| 2018-05-29 | rust-lang/rust#27282: Add `StatementKind::ReadForMatch` to MIR. | Felix S. Klock II | -0/+4 | |
| (This is just the data structure changes and some boilerplate match code that followed from it; the actual emission of these statements comes in a follow-up commit.) | ||||
| 2018-05-29 | fix off by one error | Niko Matsakis | -1/+1 | |
| 2018-05-29 | tweak debug output some more | Niko Matsakis | -2/+7 | |
| 2018-05-29 | Ensure that all statements in block are visited not just successors of a block. | David Wood | -8/+18 | |
| 2018-05-29 | add some debugging statements | Niko Matsakis | -0/+3 | |
| 2018-05-29 | Refactored DFS to be much cleaner. Added continue after noting that borrow ↵ | David Wood | -99/+27 | |
| is out of scope at location. | ||||
| 2018-05-27 | Ensure that depth first search does not get stuck in cycles. | David Wood | -12/+28 | |
| 2018-05-27 | Ensure that we don't skip the last statement. | David Wood | -2/+2 | |
| 2018-05-27 | Use precomputed DFS of borrows that out of scope at a location. | David Wood | -14/+116 | |
| 2018-05-24 | Use AllFacts from polonius-engine | Santiago Pastorino | -1/+1 | |
| 2018-05-19 | Remove extra calls to kill_loans_out_of_scope_at_location - keep only ↵ | David Wood | -5/+0 | |
| before_statement_effect and before_terminator_effect. | ||||
| 2018-05-03 | Instrument `statement_effect_on_borrows` for the `lhs = &place` case. | Felix S. Klock II | -0/+6 | |
| 2018-05-01 | rustc: return impl Iterator from Terminator(Kind)::successors(_mut). | Eduard-Mihai Burtescu | -3/+3 | |
| 2018-04-15 | remove -Znll -- borrowck=mir implies nll now | Niko Matsakis | -31/+20 | |
| 2018-04-15 | stop using `borrows` for anything but iterating over live data | Niko Matsakis | -26/+1 | |
| 2018-04-15 | thread borrow-set around more | Niko Matsakis | -3/+3 | |
| 2018-04-15 | remove `ReserveOrActivateIndex` | Niko Matsakis | -62/+20 | |
| 2018-04-15 | use the `activations_at_location` map to check activations | Niko Matsakis | -0/+7 | |
| Not gen bits | ||||
| 2018-04-15 | encapsulate ReserveOrActivateIndex into the borrows dataflow | Niko Matsakis | -1/+0 | |
| 2018-04-15 | construct the `BorrowSet` outside of `borrows` | Niko Matsakis | -8/+8 | |
| 2018-04-15 | extract code to build borrow-set into `borrow_check::borrow_set` | Niko Matsakis | -404/+12 | |
| Also: - Extract common helper functions into a helper trait. - Kill a bit of dead code. | ||||
| 2018-04-15 | relocate `BorrowData` etc into `borrow_check::borrow_set` | Niko Matsakis | -77/+26 | |
| 2018-04-15 | gather activation locations for 2-phase borrows in 1 pass | Niko Matsakis | -98/+139 | |
| 2018-04-15 | remove `assigned_map` (appears to be dead code) | Niko Matsakis | -9/+0 | |
| 2018-04-07 | Auto merge of #49678 - bobtwinkles:fix_multiple_activations, r=nikomatsakis | bors | -14/+8 | |
| two-phase borrows: support multiple activations in one statement The need for this has arisen since the introduction of two-phase borrows on method autorefs in #49348. r'ing @pnkfelix to keep things off Niko's plate so he can make this redundant, and @pnkfelix is familiar with the code. Fixes #49635 Fixes #49662 r? @pnkfelix | ||||
| 2018-04-06 | Use `Ident` instead of `Name` in `MetaItem` | Vadim Petrochenkov | -1/+1 | |
| 2018-04-04 | two-phase borrows: support multiple activations in one statement | bobtwinkles | -14/+8 | |
| The need for this has arisen since the introduction of two-phase borrows on method autorefs. Fixes 49635 Fixes 49662 | ||||
| 2018-04-02 | avoid IdxSets containing garbage above the universe length | Ariel Ben-Yehuda | -2/+2 | |
| This makes sure that all bits in each IdxSet between the universe length and the end of the word are all zero instead of being in an indeterminate state. This fixes a crash with RUST_LOG=rustc_mir, and is probably a good idea anyway. | ||||
| 2018-03-24 | Auto merge of #48482 - davidtwco:issue-47184, r=nikomatsakis | bors | -0/+2 | |
| NLL should identify and respect the lifetime annotations that the user wrote Part of #47184. r? @nikomatsakis | ||||
| 2018-03-22 | Added UserAssertTy statement. | David Wood | -0/+2 | |
| 2018-03-17 | Use num::NonZero* instead of NonZero<_> in rustc and tests | Simon Sapin | -3/+3 | |
| 2018-03-15 | Rollup merge of #48840 - varkor:idxset-cleanup, r=pnkfelix | kennytm | -18/+13 | |
| Remove some unnecessary IdxSet methods This replaces `IdxSet:: reset_to_empty` with `IdxSet:: clear`, and `IdxSet::elems`/`IdxSet::each_bit` with `IdxSet::iter`. Based on some [comments on #rustc](https://botbot.me/mozilla/rustc/2018-01-23/?msg=96063396). r? @pnkfelix | ||||
| 2018-03-09 | Remove some commented out code | bobtwinkles | -12/+0 | |
| Left over from prior experimentation, no longer required. | ||||
| 2018-03-09 | Check for two_phase_borrows in the right place | bobtwinkles | -1/+1 | |
| Fix a small compilation issue after I missed a critical change after rebasing yesterday (ref c933440) | ||||
| 2018-03-09 | Fix tests after two-phase borrow rewrite | bobtwinkles | -19/+12 | |
| 2018-03-09 | Remove unused field on BorrowData | bobtwinkles | -3/+1 | |
| 2018-03-09 | Complete re-implementation of 2-phase borrows | bobtwinkles | -32/+32 | |
| See #48431 for discussion as to why this was necessary and what we hoped to accomplish. A brief summary: - the first implementation of 2-phase borrows was hard to limit in the way we wanted. That is, it was too good at accepting all 2-phase borrows rather than just autorefs =) - Numerous diagnostic regressions were introduced by 2-phase borrow support which were difficult to fix | ||||
| 2018-03-09 | mir dataflow: change graphviz output | bobtwinkles | -142/+143 | |
| The new output format is perhaps a little more readable. As a bonus, we get labels on the outgoing edges to more easily corroborate the dataflow with the plain MIR graphviz output. | ||||
| 2018-03-09 | Finally start down the right path | bobtwinkles | -371/+386 | |
| 2018-03-09 | Rename BorrowData::location to BorrowData::reserve_location | bobtwinkles | -4/+7 | |
| in preparation for rewritting two phase borrow support | ||||
| 2018-03-08 | Fully use miri in trans | Oliver Schneider | -1/+1 | |
| 2018-03-06 | Remove IdxSet::elems | varkor | -8/+6 | |
| 2018-03-06 | Remove IdxSet::each_bit | varkor | -6/+3 | |
| 2018-03-06 | Remove IdxSet::reset_to_empty | varkor | -4/+4 | |
| 2018-03-02 | Run Rustfix on librustc_mir | Manish Goregaokar | -1/+1 | |
| 2018-03-02 | Replace Rc with Lrc for shared data | John Kåre Alsaker | -2/+3 | |
| 2018-02-24 | Rollup merge of #48232 - fpoli:master, r=pnkfelix | Manish Goregaokar | -3/+6 | |
| mir: Gather move at SwitchInt, Assert terminators Previously, `_1` was not marked as "definitely uninitialized" after a `switchInt(move _1)` terminator. I think the same goes for the `assert` terminator. Related discussion: https://internals.rust-lang.org/t/why-is-2-definitely-initialized-after-switchint-move-2/6760 | ||||
