| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2019-12-04 | Only warn about missing patterns in the case of an enum | Nadrieril | -2/+2 | |
| 2019-12-04 | Make empty match lint more consistent under exhaustive_patterns | Nadrieril | -7/+9 | |
| 2019-12-04 | Tweak error on empty match | Nadrieril | -7/+6 | |
| 2019-12-04 | Factor out some `non_exhaustive`-related checks | Nadrieril | -14/+21 | |
| 2019-12-04 | Fix explanation of handling of empty enums | Nadrieril | -17/+8 | |
| 2019-12-04 | Clarify handling of `exhaustive_patterns` in `all_constructors` | Nadrieril | -31/+39 | |
| This is logically equivalent to the previous code. | ||||
| 2019-12-04 | Update src/librustc_mir/interpret/terminator.rs | Oliver Scherer | -0/+1 | |
| Co-Authored-By: Ralf Jung <post@ralfj.de> | ||||
| 2019-12-04 | more private | Mark Mansi | -6/+7 | |
| 2019-12-04 | minor fix | Mark Mansi | -1/+1 | |
| 2019-12-04 | fix some imports | Mark Mansi | -83/+93 | |
| 2019-12-04 | move region errors to diagnostics module | Mark Mansi | -0/+0 | |
| 2019-12-04 | fix imports | Mark Mansi | -5/+8 | |
| 2019-12-04 | move explain_borrow to diagnostics | Mark Mansi | -0/+0 | |
| 2019-12-04 | fix imports | Mark Mansi | -27/+33 | |
| 2019-12-04 | create new borrow_check::diagnostics module and move stuff there | Mark Mansi | -0/+0 | |
| 2019-12-04 | Auto merge of #66275 - oli-obk:organize-intrinsics-promotion-checks, r=RalfJung | bors | -151/+70 | |
| Organize intrinsics promotion checks cc @vertexclique supersedes #61835 r? @RalfJung | ||||
| 2019-12-04 | Auto merge of #65947 - eddyb:fn-abi, r=oli-obk,nagisa | bors | -84/+91 | |
| rustc: split FnAbi's into definitions/direct calls ("of_instance") and indirect calls ("of_fn_ptr"). After this PR: * `InstanceDef::Virtual` is only used for "direct" virtual calls, and shims around those calls use `InstanceDef::ReifyShim` (i.e. for `<dyn Trait as Trait>::f as fn(_)`) * this could easily be done for intrinsics as well, to allow their reification, but I didn't do it * `FnAbi::of_instance` is **always** used for declaring/defining an `fn`, and for direct calls to an `fn` * this is great for e.g. https://github.com/rust-lang/rust/pull/65881 (`#[track_caller]`), which can introduce the "caller location" argument into "codegen signatures" by only changing `FnAbi::of_instance`, after this PR * `FnAbi::of_fn_ptr` is used primarily for indirect calls, i.e. to `fn` pointers * *not* virtual calls (which use `FnAbi::of_instance` with `InstanceDef::Virtual`) * there's also a couple uses where the `rustc_codegen_llvm` needs to declare (i.e. FFI-import) an LLVM function that has no Rust declaration available at all * at least one of them could probably be a "weak lang item" instead As there are many steps, this PR is best reviewed commit by commit - some of which arguably should be in their own PRs, I may have gotten carried away a bit. cc @nagisa @rkruppe @oli-obk @anp | ||||
| 2019-12-03 | Rollup merge of #66960 - wesleywiser:fix_66787_take2, r=oli-obk,RalfJung | Mazdak Farrokhzad | -10/+13 | |
| [const-prop] Fix ICE calculating enum discriminant Fixes #66787 Different approach than #66857 r? @oli-obk cc @RalfJung @eddyb | ||||
| 2019-12-03 | Fix angle bracket formatting when dumping MIR debug vars | Ömer Sinan Ağacan | -1/+1 | |
| Fixes #66985 | ||||
| 2019-12-03 | rustc: use ReifyShim for reifying Virtual call instances. | Eduard-Mihai Burtescu | -13/+14 | |
| 2019-12-03 | [const-prop] Fix ICE calculating enum discriminant | Wesley Wiser | -10/+13 | |
| Fixes #66787 | ||||
| 2019-12-03 | rustc: expose the mir::Body reference lifetime from mir::ReadOnlyBodyCache ↵ | Eduard-Mihai Burtescu | -53/+53 | |
| (#64736 fallout). | ||||
| 2019-12-03 | rustc_mir: don't hardcode InstanceDef::VtableShim behavior to ↵ | Eduard-Mihai Burtescu | -18/+24 | |
| Adjustment::DerefMove. | ||||
| 2019-12-03 | Rollup merge of #66967 - Nadrieril:remove-or-pat-hack, r=varkor | Mazdak Farrokhzad | -167/+158 | |
| Remove hack for top-level or-patterns in match checking Follow-up to #66612. Or-patterns are now truly first-class in match checking. As a side-effect, redundant subpatterns are linted as such, making the `unreachable_patterns` lint a bit more general. cc #54883 r? @varkor | ||||
| 2019-12-03 | Rollup merge of #66148 - oli-obk:it_must_be_a_sign, r=RalfJung | Mazdak Farrokhzad | -3/+40 | |
| Show the sign for signed ops on `exact_div` r? @RalfJung Cc https://github.com/rust-lang/miri/pull/961/files#r341842128 I'm fairly unhappy with the duplication and the general effort required for this. Maybe it would be better to add a `display` impl for `ImmTy`? | ||||
| 2019-12-03 | Tidy | Oliver Scherer | -1/+0 | |
| 2019-12-03 | Move all intrinsic whitelists into the constness check file | Oliver Scherer | -52/+3 | |
| 2019-12-03 | Only check `min_const_fn` for const fns | Oliver Scherer | -1/+1 | |
| 2019-12-03 | Check intrinsics for callability in const fns | Mahmut Bulut | -118/+87 | |
| 2019-12-02 | Remove top-level or-pattern hack | Nadrieril | -102/+80 | |
| 2019-12-02 | Correct error on partially unreachable or-pat in `if let` | Nadrieril | -10/+12 | |
| 2019-12-02 | Lint for redundant branches in or-patterns | Nadrieril | -13/+40 | |
| 2019-12-02 | Simplify lifetimes by allocating patterns on the arena | Nadrieril | -49/+38 | |
| We want the lifetimes of the patterns contained in the matrix and the candidate `PatStack` to be the same so that they can be mixed together. A lot of this would not be necessary if `SmallVec` was covariant in its type argument (see https://github.com/servo/rust-smallvec/issues/146). | ||||
| 2019-12-02 | `UsefulWithWitness` always carries some witnesses | Nadrieril | -1/+1 | |
| 2019-12-02 | Don't build the same matrix twice | Nadrieril | -10/+5 | |
| The exact same logic was used in check_arms and check_match to build the matrix of relevant patterns. It would actually probably have been a bug if it was not the case, since exhaustiveness checking should be the same as checking reachability of an additional `_ => ...` match branch. | ||||
| 2019-12-02 | Auto merge of #64736 - Nashenas88:mir_predecessors_cache_cleanup, r=oli-obk | bors | -404/+558 | |
| Remove interior mutability in mir predecessors cache | ||||
| 2019-12-02 | Suggest feature for const_mut_refs errors | Christian Poveda | -3/+7 | |
| 2019-12-02 | Fix issues caused during rebasing | Paul Daniel Faria | -2/+1 | |
| 2019-12-02 | Disallow cell borrowing | Christian Poveda | -27/+36 | |
| 2019-12-02 | Allow mutable derefs with feature gate | Christian Poveda | -1/+5 | |
| 2019-12-02 | Allow mutable borrows in constant bodies | Christian Poveda | -0/+4 | |
| 2019-12-02 | Rename feature gate | Christian Poveda | -1/+1 | |
| 2019-12-02 | Allow &mut in const fns when feature gate is enabled | Christian Poveda | -4/+8 | |
| 2019-12-02 | Fix issues caused during rebasing | Paul Daniel Faria | -4/+4 | |
| 2019-12-02 | Fix tidy issues | Paul Daniel Faria | -40/+53 | |
| 2019-12-02 | Fix rebasing errors, convert some BodyCache::body() calls to reborrows | Paul Daniel Faria | -38/+39 | |
| 2019-12-02 | Fix type errors created during rebasing | Paul Daniel Faria | -62/+66 | |
| 2019-12-02 | Fix type errors cause during rebasing | Paul Daniel Faria | -5/+6 | |
| 2019-12-02 | Compute predecessors in mir_build query and use existing cache for ↵ | Paul Daniel Faria | -4/+7 | |
| generating ReadOnlyBodyCache, remove unneeded fns | ||||
| 2019-12-02 | Remove HasLocalDecls impl from BodyCache's, properly reborrow to Body, ↵ | Paul Daniel Faria | -588/+588 | |
| rename all body_cache back to body | ||||
