| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-10-02 | Auto merge of #147138 - jackh726:split-canonical-bound, r=lcnr | bors | -102/+43 | |
| Split Bound index into Canonical and Bound See [#t-types/trait-system-refactor > perf `async-closures/post-mono-higher-ranked-hang.rs`](https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/perf.20.60async-closures.2Fpost-mono-higher-ranked-hang.2Ers.60/with/541535613) for context Things compile and tests pass, but not sure if this actually solves the perf issue (edit: it does). Opening up this to do a perf (and maybe crater) run. r? lcnr | ||||
| 2025-09-30 | Split Bound into Canonical and Bound | jackh726 | -102/+43 | |
| 2025-09-26 | review | lcnr | -7/+4 | |
| 2025-09-26 | allow method calls on opaques | lcnr | -1/+22 | |
| 2025-09-08 | review | lcnr | -3/+10 | |
| 2025-09-08 | optimize `CanonicalVarValues::instantiate` | lcnr | -37/+18 | |
| 2025-09-08 | pass `sub_relations` into canonical queries | lcnr | -46/+69 | |
| 2025-09-08 | inline `CanonicalTyVarKind` | lcnr | -21/+9 | |
| 2025-08-03 | Auto merge of #144677 - nnethercote:bound-const-handling, r=lcnr | bors | -7/+9 | |
| Improve bound const handling A few changes to make const handling more similar to type handling. r? `@compiler-errors` -errors | ||||
| 2025-08-01 | Auto merge of #144446 - nnethercote:opt-region-constraints, r=lcnr | bors | -21/+4 | |
| Optimize region constraints r? `@lcnr` | ||||
| 2025-07-31 | Overhaul `Constraint`. | Nicholas Nethercote | -21/+4 | |
| This commit changes it to store a `Region` instead of a `RegionVid` for the `Var` cases: - We avoid having to call `Region::new_var` to re-create `Region`s from `RegionVid`s in a few places, avoiding the interning process, giving a small perf win. (At the cost of the type allowing some invalid combinations of values.) - All the cases now store two `Region`s, so the commit also separates the `ConstraintKind` (a new type) from the `sub` and `sup` arguments in `Constraint`. | ||||
| 2025-07-31 | Make const bound handling more like types/regions. | Nicholas Nethercote | -7/+9 | |
| Currently there is `Ty` and `BoundTy`, and `Region` and `BoundRegion`, and `Const` and... `BoundVar`. An annoying inconsistency. This commit repurposes the existing `BoundConst`, which was barely used, so it's the partner to `Const`. Unlike `BoundTy`/`BoundRegion` it lacks a `kind` field but it's still nice to have because it makes the const code more similar to the ty/region code everywhere. The commit also removes `impl From<BoundVar> for BoundTy`, which has a single use and doesn't seem worth it. These changes fix the "FIXME: We really should have a separate `BoundConst` for consts". | ||||
| 2025-07-31 | Remove `ParamEnvAnd::into_parts`. | Nicholas Nethercote | -1/+1 | |
| The fields are public, so this doesn't need a method, normal deconstruction and/or field access is good enough. | ||||
| 2025-07-15 | Add alias for ArgOutlivesPredicate | Michael Goulet | -1/+1 | |
| 2025-07-15 | Consider outlives assumptions when proving auto traits for coroutine interiors | Michael Goulet | -2/+26 | |
| 2025-07-13 | Simplify make_query_region_constraints | Michael Goulet | -12/+10 | |
| 2025-06-25 | rename RegionVariableOrigin::MiscVariable to RegionVariableOrigin::Misc | Michael Goulet | -4/+1 | |
| 2025-06-19 | Cache instantiation of canonical binder | Michael Goulet | -20/+169 | |
| 2025-05-29 | Auto merge of #141581 - lcnr:fold-clauses, r=compiler-errors | bors | -0/+4 | |
| add additional `TypeFlags` fast paths Some crates, e.g. `diesel`, have items with a lot of where-clauses (more than 150). In these cases checking the `TypeFlags` of the whole `param_env` can be very beneficial. This adds `fn fold_clauses` to mirror the existing `fn visit_clauses` and then uses this in folders which fold `ParamEnv`s. Split out from rust-lang/rust#141451, depends on rust-lang/rust#141442. r? `@compiler-errors` | ||||
| 2025-05-27 | Rename unpack to kind | Michael Goulet | -6/+6 | |
| 2025-05-26 | add additional `TypeFlags` fast paths | lcnr | -0/+4 | |
| 2025-05-27 | Rollup merge of #141392 - compiler-errors:query-outlives, r=lcnr | 许杰友 Jieyou Xu (Joe) | -54/+8 | |
| Avoid obligation construction dance with query region constraints And some renaming... | ||||
| 2025-05-26 | Auto merge of #141442 - compiler-errors:fast-path-pred, r=lcnr | bors | -0/+4 | |
| Fold predicate fast path in canonicalizer and eager resolver See individual commits. r? lcnr | ||||
| 2025-05-26 | Rename | Michael Goulet | -1/+1 | |
| 2025-05-26 | Avoid obligation construction dance with query region constraints | Michael Goulet | -54/+8 | |
| 2025-05-25 | Fast path fold_predicate in old canonicalizer | Michael Goulet | -0/+4 | |
| 2025-05-25 | Don't use relation just to equate regions in response | Michael Goulet | -5/+5 | |
| 2025-05-23 | yeet `CanonicalVarInfo` | lcnr | -99/+78 | |
| 2025-05-06 | support duplicates in the opaque_types_storage | lcnr | -19/+7 | |
| 2025-04-08 | clean code: remove Deref<Target=RegionKind> impl for Region and use `.kind()` | xizheyin | -5/+5 | |
| Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn> | ||||
| 2025-03-15 | Squash fold into ty | Michael Goulet | -8/+5 | |
| 2025-02-22 | Greatly simplify lifetime captures in edition 2024 | Michael Goulet | -7/+6 | |
| 2025-01-13 | rm unnecessary `OpaqueTypeDecl` wrapper | lcnr | -2/+2 | |
| 2024-12-22 | Begin to implement type system layer of unsafe binders | Michael Goulet | -0/+1 | |
| 2024-12-20 | remove non-borrowck member constraints | lcnr | -12/+2 | |
| 2024-11-23 | no more Reveal :( | lcnr | -1/+1 | |
| 2024-11-04 | ty::BrK -> ty::BoundRegionKind::K | Michael Goulet | -1/+1 | |
| 2024-10-29 | TypingMode :thinking: | lcnr | -3/+3 | |
| 2024-10-24 | Remove associated type based effects logic | Michael Goulet | -23/+1 | |
| 2024-10-17 | move `defining_opaque_types` out of `Canonical` | lcnr | -17/+8 | |
| 2024-10-12 | Swap Vec<PredicateObligation> to type alias | GnomedDev | -3/+4 | |
| 2024-09-22 | Reformat using the new identifier sorting from rustfmt | Michael Goulet | -2/+2 | |
| 2024-09-02 | chore: Fix typos in 'compiler' (batch 1) | Alexander Cyon | -1/+1 | |
| 2024-08-30 | Remove `#[macro_use] extern crate tracing` from `rustc_infer`. | Nicholas Nethercote | -0/+2 | |
| 2024-08-09 | Shrink `TyKind::FnPtr`. | Nicholas Nethercote | -1/+1 | |
| By splitting the `FnSig` within `TyKind::FnPtr` into `FnSigTys` and `FnHeader`, which can be packed more efficiently. This reduces the size of the hot `TyKind` type from 32 bytes to 24 bytes on 64-bit platforms. This reduces peak memory usage by a few percent on some benchmarks. It also reduces cache misses and page faults similarly, though this doesn't translate to clear cycles or wall-time improvements on CI. | ||||
| 2024-07-29 | Reformat `use` declarations. | Nicholas Nethercote | -29/+30 | |
| The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options. | ||||
| 2024-06-21 | Rename a bunch of things | Michael Goulet | -2/+2 | |
| 2024-06-05 | Basic removal of `Ty` from places (boring) | Boxy | -24/+16 | |
| 2024-06-03 | Nits and formatting | Michael Goulet | -5/+5 | |
| 2024-06-03 | Make TraitEngines generic over error | Michael Goulet | -16/+9 | |
