| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-02-16 | Move librustc/{traits,infer} to librustc_infer. | Camille GILLOT | -1669/+0 | |
| 2020-02-10 | Rollup merge of #68694 - nnethercote:reduce-RefCells-in-InferCtxt, r=varkor | Dylan DPC | -6/+6 | |
| Reduce the number of `RefCell`s in `InferCtxt`. `InferCtxt` contains six structures within `RefCell`s. Every time we create and dispose of (commit or rollback) a snapshot we have to `borrow_mut` each one of them. This commit moves the six structures under a single `RefCell`, which gives significant speed-ups by reducing the number of `borrow_mut` calls. To avoid runtime errors I had to reduce the lifetimes of dynamic borrows in a couple of places. r? @varkor | ||||
| 2020-02-10 | Reduce the number of `RefCell`s in `InferCtxt`. | Nicholas Nethercote | -6/+6 | |
| `InferCtxt` contains six structures within `RefCell`s. Every time we create and dispose of (commit or rollback) a snapshot we have to `borrow_mut` each one of them. This commit moves the six structures under a single `RefCell`, which gives significant speed-ups by reducing the number of `borrow_mut` calls. To avoid runtime errors I had to reduce the lifetimes of dynamic borrows in a couple of places. | ||||
| 2020-02-09 | Rollup merge of #68911 - jonas-schievink:inherent-overlap, r=petrochenkov | Jonas Schievink | -1/+1 | |
| Speed up the inherent impl overlap check This gives a ~7% improvement in compile times for the stm32f0(x2) crate. Also addresses @eddyb's comment in https://github.com/rust-lang/rust/pull/68837#discussion_r375701767. | ||||
| 2020-02-08 | Reduce Vec allocations in normalization by passing &mut Vec | Markus Westerlind | -22/+59 | |
| 2020-02-08 | Make `associated_items` query return a slice | Jonas Schievink | -1/+1 | |
| 2020-02-05 | Move traits::Reveal to traits::types. | Camille GILLOT | -42/+1 | |
| 2020-01-27 | don't clone types that are copy, round two. | Matthias Krüger | -2/+2 | |
| 2020-01-20 | Add `ConstnessAnd` that implements `ToPredicate` | Dylan MacKenzie | -3/+8 | |
| 2020-01-12 | Rollup merge of #67867 - matthewjasper:opaque-assoc-lookup, r=oli-obk | Mazdak Farrokhzad | -1/+1 | |
| Correctly check for opaque types in `assoc_ty_def` Closes #67856 | ||||
| 2020-01-09 | refactor 'Output = $ty' & reduce rustc dep | Mazdak Farrokhzad | -2/+1 | |
| 2020-01-07 | Make traits::util::* free functions. | Camille GILLOT | -35/+39 | |
| 2020-01-05 | Correctly check for opaque types in `assoc_ty_def` | Matthew Jasper | -1/+1 | |
| 2020-01-05 | Remove rustc_hir reexports in rustc::hir. | Mazdak Farrokhzad | -1/+1 | |
| 2020-01-05 | Auto merge of #67808 - Marwes:projection_normalization_recurse, r=nikomatsakis | bors | -0/+3 | |
| perf: Don't recurse into types that do not need normalizing A bit speculative at this stage but profiling shows that type folding takes up a substantial amount of time during normalization which may indicate that many types may be folded despite there being nothing to normalize | ||||
| 2020-01-02 | Normalize `syntax::symbol` imports. | Mazdak Farrokhzad | -1/+1 | |
| 2020-01-02 | perf: Don't recurse into types that do not need normalizing | Markus Westerlind | -0/+3 | |
| A bit speculative at this stage but profiling shows that type folding takes up a substantial amount of time during normalization which may indicate that many types may be folded despite there being nothing to normalize | ||||
| 2020-01-01 | Rename `syntax_pos` to `rustc_span` in source code | Vadim Petrochenkov | -1/+1 | |
| 2019-12-27 | Fix `Instance::resolve()` incorrectly returning specialized instances | Wesley Wiser | -0/+3 | |
| We only want to return specializations when `Reveal::All` is passed, not when `Reveal::UserFacing` is. Resolving this fixes several issues with the `ConstProp`, `SimplifyBranches`, and `Inline` MIR optimization passes. Fixes #66901 | ||||
| 2019-12-22 | Format the world | Mark Rousskov | -455/+407 | |
| 2019-12-20 | Use `delay_span_bug` less often | Matthew Jasper | -5/+21 | |
| 2019-12-02 | rustc: include ParamEnv in global trait select/eval cache keys. | Eduard-Mihai Burtescu | -6/+4 | |
| 2019-11-13 | Use TypeFoldable derive macro. | Camille GILLOT | -1/+1 | |
| 2019-10-06 | Auto merge of #64564 - jonas-schievink:cowardly-default, r=nikomatsakis | bors | -2/+2 | |
| Deny specializing items not in the parent impl Part of https://github.com/rust-lang/rust/issues/29661 (https://github.com/rust-lang/rfcs/pull/2532). At least sort of? This was discussed in https://github.com/rust-lang/rust/pull/61812#discussion_r300504114 and is needed for that PR to make progress (fixing an unsoundness). One annoyance with doing this is that it sometimes requires users to copy-paste a provided trait method into an impl just to mark it `default` (ie. there is no syntax to forward this impl method to the provided trait method). cc @Centril and @arielb1 | ||||
| 2019-10-05 | Deny specializing items not in the parent impl | Jonas Schievink | -2/+2 | |
| 2019-10-04 | remove GeneratorSubsts visitors | csmoe | -1/+1 | |
| 2019-10-03 | generate ClosureSubsts from SubstsRef | csmoe | -1/+2 | |
| 2019-09-25 | Rename `sty` to `kind` | varkor | -3/+3 | |
| 2019-08-23 | Simplify eager normalization of constants | Oliver Scherer | -35/+1 | |
| 2019-08-15 | `Ident::with_empty_ctxt` -> `Ident::with_dummy_span` | Vadim Petrochenkov | -1/+1 | |
| `Ident` has had a full span rather than just a `SyntaxContext` for a long time now. | ||||
| 2019-08-02 | Replace "existential" by "opaque" | varkor | -1/+1 | |
| 2019-07-03 | Remove needless lifetimes | Jeremy Stucki | -2/+2 | |
| 2019-06-26 | Don't use lift to detect local types | John Kåre Alsaker | -2/+3 | |
| 2019-06-19 | Rollup merge of #61842 - Zoxc:trim-lift, r=eddyb | Mazdak Farrokhzad | -1/+0 | |
| Remove unnecessary lift calls Note that some of these might be useful for sanity checking that there's no infer types or regions. r? @eddyb | ||||
| 2019-06-18 | rustc: remove 'x: 'y bounds (except from comments/strings). | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-06-14 | Remove unnecessary lift calls | John Kåre Alsaker | -1/+0 | |
| 2019-06-14 | Run `rustfmt --file-lines ...` for changes from previous commits. | Eduard-Mihai Burtescu | -86/+73 | |
| 2019-06-14 | Unify all uses of 'gcx and 'tcx. | Eduard-Mihai Burtescu | -55/+55 | |
| 2019-06-12 | rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`. | Eduard-Mihai Burtescu | -2/+2 | |
| 2019-06-12 | Fix fallout from `deny(unused_lifetimes)`. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-06-12 | rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`. | Eduard-Mihai Burtescu | -2/+2 | |
| 2019-06-05 | Refactor `TypeVariableOrigin` into `TypeVariableOrigin` and ↵ | varkor | -3/+11 | |
| `TypeVariableOriginKind` | ||||
| 2019-05-28 | Rename `OpportunisticTypeResolver` to `OpportunisticVarResolver` | varkor | -3/+3 | |
| 2019-05-26 | Rename "Associated*" to "Assoc*" | Andrew Xu | -12/+12 | |
| We are going to uniform the terminology of all associated items. Methods that may or may not have `self` are called "associated functions". Because `AssociatedFn` is a bit long, we rename `Associated` to `Assoc`. | ||||
| 2019-05-25 | Don't use `ty::Const` without immediately interning | Oliver Scherer | -2/+1 | |
| 2019-05-17 | Change `rustc::util::common::FN_OUTPUT_NAME` to a `Symbol`. | Nicholas Nethercote | -1/+1 | |
| 2019-05-13 | Remove the equality operation between `Symbol` and strings. | Nicholas Nethercote | -2/+3 | |
| And also the equality between `Path` and strings, because `Path` is made up of `Symbol`s. | ||||
| 2019-05-08 | Use `delay_span_bug` for "Failed to unify obligation" | Esteban Küber | -5/+10 | |
| 2019-05-01 | Create ShallowResolver | varkor | -3/+3 | |
| Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com> | ||||
| 2019-05-01 | Rename *shallow_resolve to *shallow_resolve_type | varkor | -3/+3 | |
| Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com> | ||||
