| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-11-06 | inliner: Use substs_for_mir_body | Tomasz Miąsko | -5/+1 | |
| Changes from 68965 extended the kind of instances that are being inlined. For some of those, the `instance_mir` returns a MIR body that is already expressed in terms of the types found in substitution array, and doesn't need further substitution. Use `substs_for_mir_body` to take that into account. | ||||
| 2020-11-05 | Rollup merge of #78742 - vn-ki:fix-issue-78655, r=oli-obk | Mara Bos | -5/+10 | |
| make intern_const_alloc_recursive return error fix #78655 r? ``@oli-obk`` | ||||
| 2020-11-04 | make intern_const_alloc_recursive return error fix #78655 | Vishnunarayan K I | -5/+10 | |
| 2020-11-04 | `u128` truncation and sign extension are not just interpreter related | oli | -12/+9 | |
| 2020-11-04 | Add helper for getting an `int` out of a `Scalar` | oli | -4/+1 | |
| 2020-11-04 | Replace `Scalar::zst` with a `Scalar::ZST` constant | oli | -3/+3 | |
| 2020-11-04 | s/Scalar::Raw/Scalar::Int | oli | -3/+3 | |
| 2020-11-04 | Split the "raw integer bytes" part out of `Scalar` | Oliver Scherer | -15/+8 | |
| 2020-10-30 | Remove implicit `Continue` type | LeSeulArtichaut | -2/+2 | |
| 2020-10-30 | Use `ControlFlow::is{break,continue}` | LeSeulArtichaut | -1/+1 | |
| 2020-10-30 | TypeVisitor: use `ControlFlow` in rustc_{mir,privacy,traits,typeck} | LeSeulArtichaut | -13/+10 | |
| 2020-10-29 | Rollup merge of #78475 - RalfJung:validity-comment, r=oli-obk | Yuki Okushi | -2/+1 | |
| fix a comment in validity check A few things changed since that comment was written; update it to the current reality. r? @oli-obk | ||||
| 2020-10-28 | fix a comment in validity check | Ralf Jung | -2/+1 | |
| 2020-10-28 | Rollup merge of #78351 - RalfJung:validity-unsafe-cell, r=oli-obk | Dylan DPC | -90/+87 | |
| Move "mutable thing in const" check from interning to validity This moves the check for mutable things (such as `UnsafeCell` or `&mut`) in a`const` from interning to validity. That means we can give more targeted error messages (pointing out *where* the problem lies), and we can simplify interning a bit. Also fix the interning mode used for promoteds in statics. r? @oli-obk | ||||
| 2020-10-26 | Auto merge of #68965 - eddyb:mir-inline-scope, r=nagisa,oli-obk | bors | -28/+51 | |
| rustc_mir: track inlined callees in SourceScopeData. We now record which MIR scopes are the roots of *other* (inlined) functions's scope trees, which allows us to generate the correct debuginfo in codegen, similar to what LLVM inlining generates. This PR makes the `ui` test `backtrace-debuginfo` pass, if the MIR inliner is turned on by default. Also, `#[track_caller]` is now correct in the face of MIR inlining (cc `@anp).` Fixes #76997. r? `@rust-lang/wg-mir-opt` | ||||
| 2020-10-26 | explain why interning is not as trivial as it might seem | Ralf Jung | -0/+11 | |
| 2020-10-26 | interning cleanup: we no longer need to distinguish Const and ConstInner; we ↵ | Ralf Jung | -59/+23 | |
| no longer need the ignore_interior_mut_in_const hack | ||||
| 2020-10-26 | move &mut-in-const check from interning to validation | Ralf Jung | -3/+11 | |
| 2020-10-26 | move UnsafeCell-in-const check from interning to validation | Ralf Jung | -34/+48 | |
| 2020-10-25 | Auto merge of #78179 - RalfJung:miri-comments, r=oli-obk | bors | -23/+25 | |
| Miri engine: entirely skip interning of ZST, and improve some comments r? `@oli-obk` | ||||
| 2020-10-21 | Lift: take self by value | Bastian Kauschke | -1/+1 | |
| 2020-10-21 | Miri engine interning: improve comments, and entirely skip ZST | Ralf Jung | -11/+17 | |
| 2020-10-21 | Miri engine validity check: simplify code with 'matches!' | Ralf Jung | -12/+8 | |
| and improve a comment a bit | ||||
| 2020-10-21 | rustc_mir: support MIR-inlining #[track_caller] functions. | Eduard-Mihai Burtescu | -28/+51 | |
| 2020-10-17 | Optimize const value interning for ZST types | Wesley Wiser | -0/+6 | |
| Interning can skip any inhabited ZST type in general. | ||||
| 2020-10-17 | Rollup merge of #76199 - Mark-Simulacrum:void-zero, r=nikomatsakis | Dylan DPC | -1/+6 | |
| Permit uninhabited enums to cast into ints This essentially reverts part of #6204; it is unclear why that [commit](https://github.com/rust-lang/rust/pull/6204/commits/c0f587de34f30b060df8a88c4068740e587b9340) was introduced, and I suspect no one remembers. The changed code was only called from casting checks and appears to not affect any callers of that code (other than permitting this one case). Fixes #75647. | ||||
| 2020-10-13 | Replace absolute paths with relative ones | est31 | -12/+14 | |
| Modern compilers allow reaching external crates like std or core via relative paths in modules outside of lib.rs and main.rs. | ||||
| 2020-10-13 | Auto merge of #77796 - jonas-schievink:switchint-refactor, r=oli-obk | bors | -5/+5 | |
| Refactor how SwitchInt stores jump targets Closes https://github.com/rust-lang/rust/issues/65693 | ||||
| 2020-10-10 | Refactor how SwitchInt stores jump targets | Jonas Schievink | -5/+5 | |
| 2020-10-05 | query_name_of_opt_const_arg -> query_name_opt_const_arg | Bastian Kauschke | -2/+2 | |
| 2020-10-04 | cleanup WithOptConstParam queries | Bastian Kauschke | -5/+1 | |
| 2020-10-01 | Only mention that a stack frame is being popped when starting to do so | Oliver Scherer | -5/+4 | |
| 2020-09-28 | Use `tracing` spans to trace the entire MIR interp stack | Oliver Scherer | -21/+56 | |
| 2020-09-25 | Implement `Display` for `DisambiguatedDefPathData` and `DefPathData` | marmeladema | -8/+2 | |
| 2020-09-25 | Move from {{closure}}#0 syntax to {closure#0} for (def) path components | marmeladema | -2/+7 | |
| 2020-09-25 | Rollup merge of #76973 - lzutao:unstably-const-assume, r=oli-obk | Jonas Schievink | -2/+8 | |
| Unstably allow assume intrinsic in const contexts Not sure much about this usage because there are concerns about [blocking optimization][1] and [slowing down LLVM][2] when using `assme` intrinsic in inline functions. But since Oli suggested in https://github.com/rust-lang/rust/issues/76960#issuecomment-695772221, here we are. [1]: https://github.com/rust-lang/rust/pull/54995#issuecomment-429302709 [2]: https://github.com/rust-lang/rust/issues/49572#issuecomment-589615423 | ||||
| 2020-09-22 | Miri: more informative deallocation error messages | Ralf Jung | -4/+8 | |
| 2020-09-21 | Rollup merge of #76581 - lcnr:bound-too-generic, r=eddyb | ecstatic-morse | -4/+2 | |
| do not ICE on bound variables, return `TooGeneric` instead fixes #73260, fixes #74634, fixes #76595 r? @nikomatsakis | ||||
| 2020-09-21 | fix InterpCx resolve | Bastian Kauschke | -5/+10 | |
| 2020-09-20 | Add unstably const support for assume intrinsic | Lzu Tao | -0/+6 | |
| 2020-09-20 | Correct file path after some restructures in compiler | Lzu Tao | -2/+2 | |
| 2020-09-20 | Auto merge of #74949 - oli-obk:validate_const_eval_raw, r=RalfJung | bors | -64/+31 | |
| Validate constants during `const_eval_raw` This PR implements the groundwork for https://github.com/rust-lang/rust/issues/72396 * constants are now validated during `const_eval_raw` * to prevent cycle errors, we do not validate references to statics anymore beyond the fact that they are not dangling * the `const_eval` query ICEs if used on `static` items * as a side effect promoteds are now evaluated to `ConstValue::Scalar` again (since they are just a reference to the actual promoted allocation in most cases). | ||||
| 2020-09-20 | miri: correctly deal with `ConstKind::Bound` | Bastian Kauschke | -4/+2 | |
| 2020-09-19 | Rollup merge of #76757 - matthiaskrgr:clippy_try_into, r=lcnr | Ralf Jung | -4/+2 | |
| don't convert types to the same type with try_into (clippy::useless_conversion) | ||||
| 2020-09-19 | Address review comments | Oliver Scherer | -22/+22 | |
| 2020-09-19 | Unify the names of const eval queries and their return types | Oliver Scherer | -3/+3 | |
| 2020-09-19 | Rename const eval queries to reflect the validation changes | Oliver Scherer | -2/+2 | |
| 2020-09-19 | Do not call the `const_eval` query in mir interpretation except for caching ↵ | Oliver Scherer | -33/+7 | |
| of nulary intrinsics | ||||
| 2020-09-19 | Stop using the `const_eval` query for initializers of statics | Oliver Scherer | -12/+3 | |
| As a side effect, we now represent most promoteds as `ConstValue::Scalar` again. This is useful because all implict promoteds are just references anyway and most explicit promoteds are numeric arguments to `asm!` or SIMD instructions. | ||||
| 2020-09-19 | Validate constants during `const_eval_raw` | Oliver Scherer | -8/+10 | |
