- 21 8月, 2017 1 次提交
-
-
由 Ariel Ben-Yehuda 提交于
Fixes #43923.
-
- 17 8月, 2017 6 次提交
-
-
由 bors 提交于
Exclude `impl Trait` functions from everybody_loops. Fixes #43869. cc #34511.
-
由 bors 提交于
Remove useless help part Part of #32658. I think this error should be splitted into two parts, each more specific (`anonymous function` vs `type method`).
-
由 bors 提交于
Add help for static method invalid use Fixes #30391.
-
由 bors 提交于
Stabilize rvalue promotion to 'static. Closes #38865. Documentation PR at rust-lang-nursery/reference#98.
-
由 bors 提交于
Stop testing `i586-pc-windows-msvc` on AppVeyor. Fixes #43881. Reduces AppVeyor test time back to ~2 hours on average. The i586 libstd was never tested before Aug 13th, so this PR brings the situation back to the previous status-quo.
-
由 Eduard-Mihai Burtescu 提交于
-
- 16 8月, 2017 24 次提交
-
-
由 bors 提交于
MIR borrow check (under debug flag) Here is the current state of MIR borrow check. It consists of (1.) some refactoring, (2.) a dataflow analysis to identify the borrows themselves, and (3.) a mir "transform" that does the borrow check itself based on the aforementioned dataflow results. (There's also a drive-by fix to dataflow that I can factor into a separate PR if necessary. Interestingly I could not find a way to observe the bug outside of MIR borrowck.) To be clear, this branch is not ready to be used as the default borrow check. Thus the code is guarded: To get mir-borrowck to run, you need to either supply an attribute `#[rustc_mir_borrowck]` or a debug flag `-Z borrowck-mir`. Here are the main issues with the current MIR borrowck as it stands in this PR: * No Notes emitted yet, just errors. (So the feedback is definitely inferior compared to AST borrowck today) * Lvalue rendering differs between Ast and Mir. (Mostly minor, but replacement of field names with indices is very bad; big priority for me to fix ASAP.) * Lots of ICEs (presumably because some MIR operations used here have well-formedness assumptions that are violated in borrowck-broken code) * Conflates lots of cases that are distinguished by AST-borrowck * Conflates "uninitialized" with "moved" (special case of previous bullet, one that I think should be fixed ASAP) (I am hoping to fix as many of the above issues as I can in the near term, but I also would like to land this even if they are *not* all fixed, because the rebasing effort is getting to be a real drag.)
-
由 Felix S. Klock II 提交于
Added two fixmes: The `SimplifyBranches` pass cannot stay where it is, and `BorrowckMir` should be a query, not a pass. But I am going to leave those changes to a future PR.
-
由 Felix S. Klock II 提交于
Address review comment: `StatementKind::StorageDead` has an effect (running dtors) relevant to borrowck.
-
由 Felix S. Klock II 提交于
Post-rebase: ariel confirmed `SetDiscriminant` should indeed be a mutate.
-
由 Felix S. Klock II 提交于
-
由 Felix S. Klock II 提交于
One can either use `-Z borrowck-mir` or add the `#[rustc_mir_borrowck]` attribute to opt into MIR based borrow checking. Note that regardless of whether one opts in or not, AST-based borrow check will still run as well. The errors emitted from AST-based borrow check will include a "(Ast)" suffix in their error message, while the errors emitted from MIR-based borrow check will include a "(Mir)" suffix. post-rebase: removed check for intra-statement mutual conflict; replaced with assertion checking that at most one borrow is generated per statement. post-rebase: removed dead code: `IdxSet::pairs` and supporting stuff.
-
由 Felix S. Klock II 提交于
-
由 Felix S. Klock II 提交于
Refactored `each_bit`, which traverses a `IdxSet`, so that the bulk of its implementation lives in `rustc_data_structures`.
-
由 Felix S. Klock II 提交于
-
由 Felix S. Klock II 提交于
(This code is more general purpose than just supporting drop flag elaboration.)
-
由 Felix S. Klock II 提交于
post-rebase: addressed review comment: rename `loc_map`/`location_map` and `rgn_map`/`region_map`. post-rebase: remove now unnecessary `mut` decl. post-rebase: address comments: bind iterator expr, and alpha-rename `loc`/`location` and `idx`/`index`.
-
由 Felix S. Klock II 提交于
-
由 Felix S. Klock II 提交于
post-rebase: Do not put "(Ast)" suffix in error msg unless passed `-Z borrowck-mir`. (But unconditionally include "(Mir)" suffix for mir-borrowck errors.)
-
由 bors 提交于
Add a note to unused variables Fixes #26720.
-
由 Guillaume Gomez 提交于
-
由 bors 提交于
rustc: Fix `unknown_lints` next to an unknown lint The lint refactoring in #43522 didn't account for `#[allow(unknown_lints)]` happening at the same node as an unknown lint itself, so this commit updates the handling to ensure that the local set of lint configuration being built is queried before looking at the chain of lint levels. Closes #43809
-
由 bors 提交于
Clarify writable behavior of readonly-named `Permissions` methods. Opened primarily to fix https://github.com/rust-lang/rust/issues/41984.
-
由 bors 提交于
use field init shorthand EVERYWHERE Like #43008 (f6689991), but [(lacking reasons to be more timid)](https://github.com/rust-lang/rust/pull/43008#issuecomment-312463564) _much more aggressive_. r? @Mark-Simulacrum
-
-
由 bors 提交于
Fix ICE with elided lifetimes in return type of foreign functions cc https://github.com/rust-lang/rust/issues/43567 This is for a preliminary crater/cargobomb run. Lifetime elision in foreign functions now works exactly like in other functions or function-like entities. If the breakage is significant, I'll have to partially revert https://github.com/rust-lang/rust/pull/43543 (all the stuff that was required for dealing with late bound lifetimes in this position). r? @EddyB
-
由 Zack M. Davis 提交于
Like #43008 (f6689991), but _much more aggressive_.
-
由 bors 提交于
Add Vec::drain_filter This implements the API proposed in #43244. So I spent like half a day figuring out how to implement this in some awesome super-optimized unsafe way, which had me very confident this was worth putting into the stdlib. Then I looked at the impl for `retain`, and was like "oh dang". I compared the two and they basically ended up being the same speed. And the `retain` impl probably translates to DoubleEndedIter a lot more cleanly if we ever want that. So now I'm not totally confident this needs to go in the stdlib, but I've got two implementations and an amazingly robust test suite, so I figured I might as well toss it over the fence for discussion.
-
由 bors 提交于
Make backtraces work on Redox, copying Unix implementation The `backtrace/` directory here is the same as the Unix one, except for adding an implementation of `get_executable_filename`.
-
由 bors 提交于
Add method `String::retain` Behaves like `Vec::retain`, accepting a predicate `FnMut(char) -> bool` and reducing the string to only characters for which the predicate returns `true`.
-
- 15 8月, 2017 9 次提交
-
-
由 kennytm 提交于
Fixes #43881. Reduces AppVeyor test time back to ~2 hours on average. The i586 libstd was never tested before Aug 13th, so this PR brings the situation back to the previous status-quo.
-
由 Corey Farwell 提交于
-
由 Corey Farwell 提交于
-
由 bors 提交于
Add Redox Dockerfile and Travis Environment This adds Redox to the Travis build. This is an example implementation of https://github.com/rust-lang/rust/issues/43206
-
由 Jeremy Soller 提交于
-
由 bors 提交于
Ship the rustdoc book Fixes #42322, as it's the last step. Blocked on https://github.com/rust-lang/rust/pull/43790, though they will not conflict. r? @rust-lang/docs
-
由 kennytm 提交于
Fixes #43869.
-
由 bors 提交于
emit StorageLive for box temporaries We started emitting StorageDead, so we better emit the corrseponding StorageLive to avoid problems. cc #43772 solson/miri#303
-
由 Murarth 提交于
Behaves like `Vec::retain`, accepting a predicate `FnMut(char) -> bool` and reducing the string to only characters for which the predicate returns `true`.
-