| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2019-04-26 | Auto merge of #60167 - varkor:tidy-filelength, r=matthewjasper | bors | -0/+2 | |
| Add a tidy check for files with over 3,000 lines Files with a large number of lines can cause issues in GitHub (e.g. https://github.com/rust-lang/rust/issues/60015) and also tend to be indicative of opportunities to refactor into less monolithic structures. This adds a new check to tidy to warn against files that have more than 3,000 lines, as suggested in https://github.com/rust-lang/rust/issues/60015#issuecomment-483868594. (This number was chosen fairly arbitrarily as a reasonable indicator of size.) This check can be ignored with `// ignore-tidy-filelength`. Existing files with greater than 3,000 lines currently ignore the check, but this helps us spot when files are getting too large. (We might try to split up all files larger than this in the future, as in https://github.com/rust-lang/rust/issues/60015). | ||||
| 2019-04-25 | ignore-tidy-filelength on all files with greater than 3000 lines | varkor | -0/+2 | |
| 2019-04-25 | Implement Debug for Place using Place::iterate | Santiago Pastorino | -52/+86 | |
| 2019-04-23 | rustc: dissuade compiler developers from misusing upvar debuginfo. | Eduard-Mihai Burtescu | -7/+11 | |
| 2019-04-23 | rustc: don't track var_hir_id or mutability in mir::UpvarDecl. | Eduard-Mihai Burtescu | -10/+5 | |
| 2019-04-20 | Auto merge of #59987 - saleemjaffer:refactor_adjust_castkinds, r=oli-obk | bors | -20/+3 | |
| Refactor Adjust and CastKind fixes rust-lang#59588 | ||||
| 2019-04-18 | Make PlaceProjectionsIter a proper iterator | Santiago Pastorino | -4/+18 | |
| 2019-04-17 | Make iterate take a FnOnce with PlaceBase and PlaceProjectionIter | Santiago Pastorino | -36/+34 | |
| 2019-04-17 | Place::iterate do not take an accumulator anymore, hide that in a private fn | Santiago Pastorino | -1/+8 | |
| 2019-04-17 | Place::unroll -> Place::iterate | Santiago Pastorino | -4/+4 | |
| 2019-04-17 | Move unroll_place to Place::unroll | Santiago Pastorino | -0/+75 | |
| 2019-04-15 | basic refactor. Adding PointerCast enum | Saleem Jaffer | -20/+3 | |
| 2019-04-14 | Rollup merge of #59877 - Zoxc:hiridify_def_id, r=eddyb | Mazdak Farrokhzad | -2/+2 | |
| HirIdify hir::Def cc @ljedrz r? @oli-obk | ||||
| 2019-04-14 | HirIdify hir::Def | ljedrz | -2/+2 | |
| 2019-04-05 | Increase `Span` from 4 bytes to 8 bytes. | Nicholas Nethercote | -1/+1 | |
| This increases the size of some important types, such as `ast::Expr` and `mir::Statement`. However, it drastically reduces how much the interner is used, and the fields are more natural sizes that don't require bit operations to extract. As a result, instruction counts drop across a range of workloads, by as much as 12% for incremental "check" builds of `script-servo`. Peak memory usage goes up a little for some cases, but down by more for some other cases -- as much as 18% for non-incremental builds of `packed-simd`. The commit also: - removes the `repr(packed)`, because it has negligible effect, but can cause undefined behaviour; - replaces explicit impls of common traits (`Copy`, `PartialEq`, etc.) with derived ones. | ||||
| 2019-04-03 | Rollup merge of #59630 - nnethercote:shrink-mir-Statement, r=pnkfelix | Mazdak Farrokhzad | -14/+23 | |
| Shrink `mir::Statement`. The `InlineAsm` variant is extremely rare, and `mir::Statement` often contributes significantly to peak memory usage. | ||||
| 2019-04-03 | Rollup merge of #59514 - tmandry:remove-adt-def-from-projection-elem, r=eddyb | Mazdak Farrokhzad | -30/+39 | |
| Remove adt_def from projections and downcasts in MIR As part of optimizing generator layouts in MIR, we'd like to allow downcasting generators to variants which do not have a corresponding `def_id`, since they are created by the compiler. This refactor hopes to allow that, without regressing perf. r? @eddyb | ||||
| 2019-04-03 | Shrink `mir::Statement`. | Nicholas Nethercote | -14/+23 | |
| The `InlineAsm` variant is extremely rare, and `mir::Statement` often contributes significantly to peak memory usage. | ||||
| 2019-04-02 | Replace adt_def with name in mir::ProjectionElem::Downcast | Tyler Mandry | -30/+39 | |
| 2019-04-02 | renames EvalErrorKind to InterpError | kenta7777 | -4/+4 | |
| 2019-04-01 | Allow closure to unsafe fn coercion | Taiki Endo | -2/+3 | |
| 2019-03-26 | Rollup merge of #59232 - saleemjaffer:mir_place_refactor, r=oli-obk | Mazdak Farrokhzad | -21/+29 | |
| 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-23 | adding mir::StaticKind enum for static and promoted | Saleem Jaffer | -21/+26 | |
| 2019-03-18 | promoted is still left in 2 places | Saleem Jaffer | -17/+20 | |
| 2019-03-16 | Revert the `LazyConst` PR | Oliver Scherer | -14/+5 | |
| 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 | -41/+51 | |
| 2019-03-07 | HirIdification: replace NodeId method calls | ljedrz | -7/+8 | |
| 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 | -10/+22 | |
| 2019-02-26 | replace &'tcx Substs with SubstsRef | csmoe | -3/+3 | |
| 2019-02-26 | Auto merge of #58561 - ljedrz:HirIdify_some_nodes, r=Zoxc | bors | -6/+6 | |
| 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-24 | hir: remove NodeId from Block | ljedrz | -6/+6 | |
| 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 | |
