| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2019-04-02 | Replace adt_def with name in mir::ProjectionElem::Downcast | Tyler Mandry | -38/+46 | |
| 2019-04-02 | Improve miri's error reporting in check_in_alloc | LooMaclin | -1/+0 | |
| 2019-04-02 | Improve miri's error reporting in check_in_alloc | LooMaclin | -1/+2 | |
| 2019-04-02 | Improve miri's error reporting in check_in_alloc | LooMaclin | -2/+1 | |
| 2019-04-02 | Improve miri's error reporting in check_in_alloc | LooMaclin | -25/+65 | |
| 2019-04-02 | renames EvalErrorKind to InterpError | kenta7777 | -22/+22 | |
| 2019-04-01 | Allow closure to unsafe fn coercion | Taiki Endo | -2/+3 | |
| 2019-03-27 | Rollup merge of #59430 - kenta7777:rename-evalcontext-to-interpretcx, r=oli-obk | Josh Stone | -1/+1 | |
| Renames `EvalContext` to `InterpretCx` This PR renames `EvalContext` to `InterpretCx` in `src/librustc_mir`. This PR is related to #54395 . | ||||
| 2019-03-27 | renames EvalContext to InterpretCx in docs and comments. | kenta7777 | -1/+1 | |
| 2019-03-26 | Rollup merge of #59232 - saleemjaffer:mir_place_refactor, r=oli-obk | Mazdak Farrokhzad | -43/+34 | |
| Merge `Promoted` and `Static` in `mir::Place` fixes #53848 | ||||
| 2019-03-24 | Remove `VariantDef::parent_did` | Vadim Petrochenkov | -2/+1 | |
| 2019-03-24 | Separate variant id and variant constructor id. | David Wood | -1/+2 | |
| This commit makes two changes - separating the `NodeId` that identifies an enum variant from the `NodeId` that identifies the variant's constructor; and no longer creating a `NodeId` for `Struct`-style enum variants and structs. Separation of the variant id and variant constructor id will allow the rest of RFC 2008 to be implemented by lowering the visibility of the variant's constructor without lowering the visbility of the variant itself. No longer creating a `NodeId` for `Struct`-style enum variants and structs mostly simplifies logic as previously this `NodeId` wasn't used. There were various cases where the `NodeId` wouldn't be used unless there was an unit or tuple struct or enum variant but not all uses of this `NodeId` had that condition, by removing this `NodeId`, this must be explicitly dealt with. This change mostly applied cleanly, but there were one or two cases in name resolution and one case in type check where the existing logic required a id for `Struct`-style enum variants and structs. | ||||
| 2019-03-24 | code review fixes | Saleem Jaffer | -7/+4 | |
| 2019-03-23 | Deduplicate const eval error spans for better output | Esteban Küber | -1/+3 | |
| 2019-03-23 | Swap const evaluation lint spans to point at problem in primary span | Esteban Küber | -0/+11 | |
| 2019-03-23 | adding mir::StaticKind enum for static and promoted | Saleem Jaffer | -26/+34 | |
| 2019-03-20 | remove visit_static from librustc::mir | Saleem Jaffer | -17/+4 | |
| 2019-03-18 | cleaner code as per review | Saleem Jaffer | -10/+0 | |
| 2019-03-18 | promoted is still left in 2 places | Saleem Jaffer | -22/+31 | |
| 2019-03-16 | Revert the `LazyConst` PR | Oliver Scherer | -17/+14 | |
| 2019-03-15 | Auto merge of #58556 - oli-obk:imperative_recursion, r=pnkfelix | bors | -13/+63 | |
| Optimize copying large ranges of undefmask blocks Hopefully fixes #58523 | ||||
| 2019-03-15 | rustc: slice substs in ty::print instead of passing the full ones. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-03-15 | rustc: remove PrintCx from ty::Print and rely on printers carrying TyCtxt. | Eduard-Mihai Burtescu | -4/+5 | |
| 2019-03-15 | rustc: don't thread existential projections through path_generic_args. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-03-15 | rustc: make util::ppaux private. | Eduard-Mihai Burtescu | -2/+7 | |
| 2019-03-15 | rustc: remove fields from ty::print::PrintConfig available from tcx. | Eduard-Mihai Burtescu | -14/+14 | |
| 2019-03-15 | rustc: split out the pretty-printing parts of ty::print into a separate module. | Eduard-Mihai Burtescu | -2/+2 | |
| 2019-03-15 | rustc: don't pass Namespace explicitly, but rather track it in FmtPrinter. | Eduard-Mihai Burtescu | -1/+2 | |
| 2019-03-15 | rustc: pass ty::print::PrintCx by value. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-03-15 | rustc: split off most of ty::print::PrintCx's fields into a separate struct. | Eduard-Mihai Burtescu | -2/+2 | |
| 2019-03-15 | rustc: rename item_path to def_path (except the module in ty). | Eduard-Mihai Burtescu | -4/+4 | |
| 2019-03-15 | rustc: explicitly pass the namespace to PrintCx::parameterized. | Eduard-Mihai Burtescu | -2/+2 | |
| 2019-03-15 | rustc: move the formatter into ty::print::PrintCx. | Eduard-Mihai Burtescu | -2/+2 | |
| 2019-03-15 | rustc: tie the 'tcx between Print and PrintCx in ty::print. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-03-15 | rustc: keep a TyCtxt in PrintCx and use it instead of ty::tls. | Eduard-Mihai Burtescu | -11/+13 | |
| 2019-03-13 | Use derive macro for HashStable | John Kåre Alsaker | -51/+69 | |
| 2019-03-12 | Explain the bits of `UndefMask` | Oliver Scherer | -0/+2 | |
| 2019-03-07 | HirIdification: replace NodeId method calls | ljedrz | -9/+10 | |
| 2019-03-05 | Add ConstValue::Param and ConstValue::Infer | varkor | -1/+9 | |
| Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com> | ||||
| 2019-03-04 | Use bit operations for setting large ranges of bits in a u64 | Oliver Scherer | -16/+33 | |
| 2019-03-04 | No magic numbers | Oliver Scherer | -1/+1 | |
| 2019-03-04 | Optimize copying large ranges of undefmask blocks | Oliver Scherer | -7/+38 | |
| 2019-03-03 | Auto merge of #58673 - matthewjasper:typeck-ptr-coercions, r=pnkfelix | bors | -0/+3 | |
| [NLL] Type check operations with pointer types It seems these were forgotten about. Moving to `Rvalue::AddressOf` simplifies the coercions from references, but I want this to be fixed as soon as possible. r? @pnkfelix | ||||
| 2019-03-01 | Put Local, Static and Promoted as one Base variant of Place | Santiago Pastorino | -16/+28 | |
| 2019-02-26 | replace &'tcx Substs with SubstsRef | csmoe | -8/+8 | |
| 2019-02-26 | Auto merge of #58561 - ljedrz:HirIdify_some_nodes, r=Zoxc | bors | -13/+13 | |
| Remove NodeId from some HIR nodes The next iteration of https://github.com/rust-lang/rust/pull/57578. Removes `NodeId` from: - [x] `Lifetime` - [x] `Ty` - [x] `GenericParam` - [x] `WhereClause` - [x] `WhereEqPredicate` - [x] `MacroDef` - [x] `Block` - [x] `Expr` r? @Zoxc | ||||
| 2019-02-25 | Auto merge of #57609 - matthewjasper:more-restrictive-match, r=pnkfelix | bors | -4/+9 | |
| Use normal mutable borrows in matches `ref mut` borrows are currently two-phase with NLL enabled. This changes them to be proper mutable borrows. To accommodate this, first the position of fake borrows is changed: ```text [ 1. Pre-match ] | [ (old create fake borrows) ] [ 2. Discriminant testing -- check discriminants ] <-+ | | | (once a specific arm is chosen) | | | [ (old read fake borrows) ] | [ 3. Create "guard bindings" for arm ] | [ (create fake borrows) ] | | | [ 4. Execute guard code ] | [ (read fake borrows) ] --(guard is false)-----------+ | | (guard results in true) | [ 5. Create real bindings and execute arm ] | [ Exit match ] ``` The following additional changes are made to accommodate `ref mut` bindings: * We no longer create fake `Shared` borrows. These borrows are no longer needed for soundness, just to avoid some arguably strange cases. * `Shallow` borrows no longer conflict with existing borrows, avoiding conflicting access between the guard borrow access and the `ref mut` borrow. There is some further clean up done in this PR: * Avoid the "later used here" note for Shallow borrows (since it's not relevant with the message provided) * Make any use of a two-phase borrow activate it. * Simplify the cleanup_post_borrowck passes into a single pass. cc #56254 r? @nikomatsakis | ||||
| 2019-02-24 | hir: remove NodeId from Block | ljedrz | -13/+13 | |
| 2019-02-23 | Type check coercions to pointer types | Matthew Jasper | -0/+3 | |
| 2019-02-21 | Use normal mutable borrows in MIR match lowering | Matthew Jasper | -4/+9 | |
