| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-12-20 | promoteds in statics may refer to statics | Ralf Jung | -8/+12 | |
| 2020-12-17 | Auto merge of #79945 - jackh726:existential_trait_ref, r=nikomatsakis | bors | -1/+1 | |
| Move binder for dyn to each list item This essentially changes `ty::Binder<&'tcx List<ExistentialTraitRef>>` to `&'tcx List<ty::Binder<ExistentialTraitRef>>`. This is a first step in moving the `dyn Trait` representation closer to Chalk, which we've talked about in `@rust-lang/wg-traits.` r? `@nikomatsakis` | ||||
| 2020-12-15 | Always run intrinsics lowering pass | Tomasz Miąsko | -23/+8 | |
| Move intrinsics lowering pass from the optimization phase (where it would not run if -Zmir-opt-level=0), to the drop lowering phase where it runs unconditionally. The implementation of those intrinsics in code generation and interpreter is unnecessary. Remove it. | ||||
| 2020-12-13 | Rollup merge of #79942 - JCTyblaidd:static-mem-init, r=RalfJung | Yuki Okushi | -5/+14 | |
| Add post-init hook for static memory for miri. Adds a post-initialization hook to treat memory initialized using the interpreter as if it was initialized in a static context. See: https://github.com/rust-lang/miri/pull/1644 & https://github.com/rust-lang/miri/issues/1643 | ||||
| 2020-12-12 | Auto merge of #79931 - RalfJung:no-redundant-storage-live, r=oli-obk | bors | -23/+16 | |
| make redundant StorageLive UB The interesting behavior of StorageLive in loops (https://github.com/rust-lang/rust/issues/42371) has been fixed, so we can now finally make it a hard error to mark a local as live that is already live. :) r? `@oli-obk` Fixes https://github.com/rust-lang/rust/issues/42371 | ||||
| 2020-12-11 | Move binder for dyn to each list item | Jack Huey | -1/+1 | |
| 2020-12-11 | Rustfmt | JCTyblaidd | -5/+1 | |
| 2020-12-11 | Fix rustfmt failure | JCTyblaidd | -1/+1 | |
| 2020-12-11 | Add post-initialization hook for static memory initialized using the ↵ | JCTyblaidd | -1/+14 | |
| interpereter. | ||||
| 2020-12-11 | make redundant StorageLive UB | Ralf Jung | -23/+16 | |
| 2020-12-10 | CTFE: tweak abort-on-uninhabited message | Ralf Jung | -1/+7 | |
| 2020-12-10 | Auto merge of #79621 - usbalbin:constier_maybe_uninit, r=RalfJung | bors | -3/+13 | |
| Constier maybe uninit I was playing around trying to make `[T; N]::zip()` in #79451 be `const fn`. One of the things I bumped into was `MaybeUninit::assume_init`. Is there any reason for the intrinsic `assert_inhabited<T>()` and therefore `MaybeUninit::assume_init` not being `const`? --- I have as best as I could tried to follow the instruction in [library/core/src/intrinsics.rs](https://github.com/rust-lang/rust/blob/master/library/core/src/intrinsics.rs#L11). I have no idea what I am doing but it seems to compile after some slight changes after the copy paste. Is this anywhere near how this should be done? Also any ideas for name of the feature gate? I guess `const_maybe_assume_init` is quite misleading since I have added some more methods. Should I add test? If so what should be tested? | ||||
| 2020-12-09 | Also generate `StorageDead` in constants | oli | -16/+6 | |
| 2020-12-07 | Add comment for assert_inhabited in ↵ | Albin Hedman | -0/+2 | |
| compiler/rustc_mir/src/interpret/intrinsics.rs Co-authored-by: Ralf Jung <post@ralfj.de> | ||||
| 2020-12-07 | small `TypeVisitor` refactor | Bastian Kauschke | -4/+5 | |
| 2020-12-06 | Fix comments related to abort() | Albin Hedman | -6/+4 | |
| 2020-12-05 | abort() now takes a msg parameter | Albin Hedman | -5/+7 | |
| 2020-12-03 | move interpret::MemoryKind::Heap to const eval | Vishnunarayan K I | -20/+20 | |
| 2020-12-03 | move intrinsic to CTFE, add FIXME | Vishnunarayan K I | -19/+3 | |
| 2020-12-02 | Undo fn -> const fn for all intrinsics but assert_inhabited | Albin Hedman | -17/+1 | |
| 2020-12-02 | rename MemoryKind::Heap to ConstHeap; bless test | Vishnunarayan K I | -6/+12 | |
| 2020-12-02 | Make some of MaybeUninit's methods const | Albin Hedman | -0/+24 | |
| 2020-12-01 | review comments | Vishnunarayan K I | -3/+3 | |
| 2020-12-01 | add const_allocate intrisic | Vishnunarayan K I | -3/+21 | |
| 2020-11-26 | Fix new 'unnecessary trailing semicolon' warnings | Aaron Hill | -1/+1 | |
| 2020-11-21 | List all variants of TyKind | Ngo Iok Ui | -1/+20 | |
| 2020-11-20 | Exhaustively match in variant count instrinsic | Ngo Iok Ui | -7/+10 | |
| 2020-11-17 | Auto merge of #78779 - LeSeulArtichaut:ty-visitor-return, r=oli-obk | bors | -2/+4 | |
| Introduce `TypeVisitor::BreakTy` Implements MCP rust-lang/compiler-team#383. r? `@ghost` cc `@lcnr` `@oli-obk` ~~Blocked on FCP in rust-lang/compiler-team#383.~~ | ||||
| 2020-11-16 | compiler: fold by value | Bastian Kauschke | -4/+4 | |
| 2020-11-14 | Set the default `BreakTy` to `!` | LeSeulArtichaut | -0/+2 | |
| 2020-11-14 | Introduce `TypeVisitor::BreakTy` | LeSeulArtichaut | -2/+2 | |
| 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 | |
