| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-09-08 | inline `CanonicalTyVarKind` | lcnr | -1/+0 | |
| 2025-07-15 | Add alias for ArgOutlivesPredicate | Michael Goulet | -3/+2 | |
| 2025-07-15 | Consider outlives assumptions when proving auto traits for coroutine interiors | Michael Goulet | -3/+8 | |
| 2025-05-23 | yeet `CanonicalVarInfo` | lcnr | -3/+3 | |
| 2025-04-15 | Split TypeFolder and FallibleTypeFolder | Michael Goulet | -9/+0 | |
| 2025-02-06 | Clean up trivial traversal/lift impl generator macro calls. | Nicholas Nethercote | -4/+0 | |
| We have four macros for generating trivial traversal (fold/visit) and lift impls. - `rustc_ir::TrivialTypeTraversalImpls` - `rustc_middle::TrivialTypeTraversalImpls` - `rustc_middle::TrivialLiftImpls` - `rustc_middle::TrivialTypeTraversalAndLiftImpls` The first two are very similar. The last one just combines the second and third one. The macros themselves are ok, but their use is a mess. This commit does the following. - Removes types that no longer need a lift and/or traversal impl from the macro calls. - Consolidates the macro calls into the smallest number of calls possible, with each one mentioning as many types as possible. - Orders the types within those macro calls alphabetically, and makes the module qualification more consistent. - Eliminates `rustc_middle::mir::type_foldable`, because the macro calls were merged and the manual `TypeFoldable` impls are better placed in `structural_impls.rs`, alongside all the other ones. This makes the code more concise. Moving forward, it also makes it more obvious where new types should be added. | ||||
| 2025-02-02 | Move `unify_key` module. | Nicholas Nethercote | -171/+0 | |
| From `rustc_middle::infer` to `rustc_infer::infer`. Because everything in it is only used within `rustc_infer`, and no longer needs to be `pub`. Plus it's always good to make the huge `rustc_middle` crate smaller. | ||||
| 2025-02-02 | Remove unused `ToType` trait. | Nicholas Nethercote | -5/+1 | |
| 2024-12-20 | remove non-borrowck member constraints | lcnr | -35/+1 | |
| 2024-10-24 | Remove associated type based effects logic | Michael Goulet | -67/+0 | |
| 2024-10-17 | move `defining_opaque_types` out of `Canonical` | lcnr | -1/+1 | |
| 2024-09-22 | Reformat using the new identifier sorting from rustfmt | Michael Goulet | -1/+1 | |
| 2024-07-29 | Reformat `use` declarations. | Nicholas Nethercote | -8/+10 | |
| The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options. | ||||
| 2024-06-01 | Simplify IntVarValue/FloatVarValue | Michael Goulet | -15/+1 | |
| 2024-05-21 | Uplift OutlivesPredicate, remove a bunch of unnecessary associated types ↵ | Michael Goulet | -2/+2 | |
| from Interner | ||||
| 2024-05-18 | Uplift GenericArgKind, CanonicalVarValues, QueryInput | Michael Goulet | -149/+6 | |
| and make NestedGoals generic | ||||
| 2024-04-29 | Remove `extern crate rustc_macros` from `rustc_middle`. | Nicholas Nethercote | -1/+2 | |
| 2024-04-15 | nits | Michael Goulet | -1/+3 | |
| 2024-04-15 | Remove ConstVariableOriginKind | Michael Goulet | -10/+2 | |
| 2024-04-08 | Ensure the canonical_param_env_cache does not contain inconsistent ↵ | Oli Scherer | -5/+10 | |
| information about the defining anchor | ||||
| 2024-04-08 | Eliminate `DefiningAnchor` now that is just a single-variant enum | Oli Scherer | -4/+4 | |
| 2024-04-08 | Pass list of defineable opaque types into canonical queries | Oli Scherer | -6/+5 | |
| 2024-04-03 | rustc_index: Add a `ZERO` constant to index types | Vadim Petrochenkov | -1/+1 | |
| It is commonly used. | ||||
| 2024-02-22 | add comment | lcnr | -1/+8 | |
| 2024-02-22 | region unification update universe of region vars | lcnr | -44/+38 | |
| 2024-02-12 | Dejargnonize subst | Shoyu Vanilla | -1/+1 | |
| 2024-02-05 | cleanup effect var handling | lcnr | -19/+23 | |
| 2024-01-16 | don't store const var origins for known vars | lcnr | -19/+10 | |
| 2023-12-15 | NFC: do not clone types that are copy | Matthias Krüger | -2/+2 | |
| 2023-12-14 | make infcx optional in canonicalizer | Ali MJ Al-Nasrawy | -2/+10 | |
| This doesn't change behavior. It should prevent unintentional resolution of inference variables during canonicalization, which previously caused a soundness bug. See PR description for more. | ||||
| 2023-12-13 | fix small perf regressions | Ali MJ Al-Nasrawy | -1/+11 | |
| 2023-12-13 | don't store OriginalQueryValues::universe_map | Ali MJ Al-Nasrawy | -4/+11 | |
| ParamEnv is canonicalized in *queries input* rather than query response. In such case we don't "preserve universes" of canonical variable. This means that `universe_map` always has the default value, which is wasteful to store in the cache. | ||||
| 2023-12-13 | global param_env canonicalization cache | Ali MJ Al-Nasrawy | -0/+37 | |
| 2023-11-21 | Uplift CanonicalVarInfo and friends | Michael Goulet | -153/+4 | |
| 2023-11-14 | finish `RegionKind` rename | lcnr | -2/+2 | |
| - `ReFree` -> `ReLateParam` - `ReEarlyBound` -> `ReEarlyParam` | ||||
| 2023-11-13 | rename `ReLateBound` to `ReBound` | lcnr | -6/+5 | |
| other changes: - `Region::new_late_bound` -> `Region::new_bound` - `Region::is_late_bound` -> `Region::is_bound` | ||||
| 2023-11-04 | No lifetime on PlaceholderConst | Michael Goulet | -1/+1 | |
| 2023-10-25 | Uplift Canonical to rustc_type_ir | Michael Goulet | -74/+6 | |
| 2023-10-24 | Get rid of 'tcx on ConstVid, EffectVid | Michael Goulet | -8/+32 | |
| 2023-10-13 | Format all the let chains in compiler | Michael Goulet | -1/+1 | |
| 2023-09-24 | Remove span from BrAnon. | Camille GILLOT | -1/+1 | |
| 2023-09-18 | Remove more unused `Lift` impls. | Nicholas Nethercote | -1/+1 | |
| 2023-09-18 | Remove unused `Lift` derives. | Nicholas Nethercote | -5/+5 | |
| I found these by commenting out all `Lift` derives and then adding back the ones that were necessary to successfully compile. | ||||
| 2023-09-11 | Rollup merge of #115727 - fee1-dead-contrib:effect-fallback, r=oli-obk | Matthias Krüger | -16/+78 | |
| Implement fallback for effect param r? `@oli-obk` or `@lcnr` tracking issue for this ongoing work: https://github.com/rust-lang/rust/issues/110395 | ||||
| 2023-09-11 | add `is_host_effect` to `GenericParamDefKind::Const` and address review | Deadbeef | -1/+0 | |
| 2023-09-11 | Disentangle `Debug` and `Display` for `Ty`. | Nicholas Nethercote | -0/+11 | |
| The `Debug` impl for `Ty` just calls the `Display` impl for `Ty`. This is surprising and annoying. In particular, it means `Debug` doesn't show as much information as `Debug` for `TyKind` does. And `Debug` is used in some user-facing error messages, which seems bad. This commit changes the `Debug` impl for `Ty` to call the `Debug` impl for `TyKind`. It also does a number of follow-up changes to preserve existing output, many of which involve inserting `with_no_trimmed_paths!` calls. It also adds `Display` impls for `UserType` and `Canonical`. Some tests have changes to expected output: - Those that use the `rustc_abi(debug)` attribute. - Those that use the `EMIT_MIR` annotation. In each case the output is slightly uglier than before. This isn't ideal, but it's pretty weird (particularly for the attribute) that the output is using `Debug` in the first place. They're fairly obscure attributes (I hadn't heard of them) so I'm not worried by this. For `async-is-unwindsafe.stderr`, there is one line that now lacks a full path. This is a consistency improvement, because all the other mentions of `Context` in this test lack a path. | ||||
| 2023-09-10 | Implement fallback for effect param | Deadbeef | -16/+79 | |
| 2023-07-14 | refactor(rustc_middle): Substs -> GenericArg | Mahdi Dibaiee | -4/+4 | |
| 2023-07-05 | Move `TyCtxt::mk_x` to `Ty::new_x` where applicable | Boxy | -4/+5 | |
| 2023-07-04 | Replace `mk_const` with `Const::new_x` methods | Boxy | -6/+7 | |
