| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-06-25 | Remove some glob imports from the type system | Michael Goulet | -2/+0 | |
| 2025-04-14 | Derive Obligation's fold impls | Michael Goulet | -1/+6 | |
| 2025-03-23 | Obligation::as_goal | Michael Goulet | -6/+6 | |
| 2024-10-12 | Swap PredicateObligation to ThinVec | GnomedDev | -1/+2 | |
| 2024-10-12 | Swap Vec<PredicateObligation> to type alias | GnomedDev | -0/+2 | |
| 2024-09-22 | Reformat using the new identifier sorting from rustfmt | Michael Goulet | -2/+2 | |
| 2024-08-27 | Add `warn(unreachable_pub)` to `rustc_infer`. | Nicholas Nethercote | -1/+1 | |
| 2024-07-29 | Reformat `use` declarations. | Nicholas Nethercote | -8/+6 | |
| The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options. | ||||
| 2024-07-21 | Move all error reporting into rustc_trait_selection | Michael Goulet | -1/+0 | |
| 2024-06-11 | Get rid of PredicateObligations | Michael Goulet | -2/+0 | |
| 2024-06-03 | Nits and formatting | Michael Goulet | -1/+1 | |
| 2024-06-03 | Move FulfillmentErrorCode to rustc_trait_selection too | Michael Goulet | -20/+1 | |
| 2024-06-03 | Make TraitEngines generic over error | Michael Goulet | -32/+2 | |
| 2024-06-03 | Remove unnecessary extension trait | Michael Goulet | -1/+1 | |
| 2024-05-18 | Uplift GenericArgKind, CanonicalVarValues, QueryInput | Michael Goulet | -2/+2 | |
| and make NestedGoals generic | ||||
| 2024-05-16 | Uplift Goal to rustc_type_ir | Michael Goulet | -6/+10 | |
| 2024-05-16 | Rename ToPredicate for Upcast | Michael Goulet | -10/+6 | |
| 2024-05-13 | split out AliasTy -> AliasTerm | Michael Goulet | -1/+1 | |
| 2024-05-10 | More rename fallout | Michael Goulet | -1/+1 | |
| 2024-05-10 | rename some variants in FulfillmentErrorCode | Michael Goulet | -8/+8 | |
| 2024-05-02 | Use ObligationCtxt in favor of TraitEngine in many places | Michael Goulet | -0/+12 | |
| 2024-04-29 | Remove `extern crate rustc_data_structures` from numerous crates. | Nicholas Nethercote | -1/+1 | |
| 2024-04-18 | Simplify `static_assert_size`s. | Nicholas Nethercote | -1/+1 | |
| We want to run them on all 64-bit platforms. | ||||
| 2024-04-03 | Check `x86_64` size assertions on `aarch64`, too | Zalathar | -1/+1 | |
| This makes it easier for contributors on aarch64 workstations (e.g. Macs) to notice when these assertions have been violated. | ||||
| 2024-03-22 | Split out ImplPolarity and PredicatePolarity | Michael Goulet | -1/+1 | |
| 2024-02-29 | distinguish recursion limit based overflow for diagnostics | lcnr | -4/+6 | |
| also change the number of allowed fixpoint steps to be fixed instead of using the `log` of the total recursion depth. | ||||
| 2024-01-19 | Add trait obligation tracking to FulfillCtxt and expose FnCtxt in ↵ | Gavin Gray | -0/+8 | |
| rustc_infer using callback. Pass each obligation to an fn callback with its respective inference context. This avoids needing to keep around copies of obligations or inference contexts. Specify usability of inspect_typeck in comment. | ||||
| 2024-01-12 | Remove redundant Code from FulfillmentErrorCode variants | Michael Goulet | -7/+6 | |
| 2023-12-14 | update use of feature flags | lcnr | -1/+1 | |
| 2023-10-22 | use visibility to check unused imports and delete some stmts | bohan | -1/+0 | |
| 2023-08-09 | Ignore `cause` and `recursion_depth` in `Obligation::{eq,hash}`. | Nicholas Nethercote | -1/+23 | |
| This gives massive (~7x) compile time and memory usage reductions for the trait system stress test in https://github.com/rust-lang/rustc-perf/pull/1680. | ||||
| 2023-08-02 | Remove constness from `TraitPredicate` | Deadbeef | -7/+0 | |
| 2023-07-27 | Remove `constness` from `ParamEnv` | Deadbeef | -9/+0 | |
| 2023-07-06 | Separate select calls that don't need a binder | Michael Goulet | -0/+1 | |
| 2023-07-06 | TraitObligation -> PolyTraitObligation | Michael Goulet | -3/+3 | |
| 2023-06-19 | s/Clause/ClauseKind | Michael Goulet | -2/+2 | |
| 2023-04-21 | Break up long function in trait selection error reporting | Bryan Garza | -1/+1 | |
| - Move blocks of code into their own functions - Replace a few function argument types with their type aliases | ||||
| 2023-04-16 | use matches! macro in more places | Matthias Krüger | -4/+4 | |
| 2023-04-10 | Report overflows gracefully with new solver | Michael Goulet | -1/+5 | |
| 2023-03-21 | evaluate: improve and fix recursion depth handling | lcnr | -0/+10 | |
| 2023-03-10 | Move some solver stuff to middle | Michael Goulet | -0/+6 | |
| 2023-01-23 | fix: use LocalDefId instead of HirId in trait res | Vincenzo Palazzo | -1/+2 | |
| use LocalDefId instead of HirId in trait resolution to simplify the obligation clause resolution Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com> | ||||
| 2022-11-25 | Introduce PredicateKind::Clause | Santiago Pastorino | -2/+2 | |
| 2022-11-16 | Convert predicates into Predicate in the Obligation constructor | Oli Scherer | -13/+16 | |
| 2022-09-22 | Rollup merge of #102037 - jyn514:normalize-docs, r=lcnr | Dylan DPC | -0/+2 | |
| Make cycle errors recoverable In particular, this allows rustdoc to recover from cycle errors when normalizing associated types for documentation. In the past, ```@jackh726``` has said we need to be careful about overflow errors: https://github.com/rust-lang/rust/pull/91430#issuecomment-983997013 > Off the top of my head, we definitely should be careful about treating overflow errors the same as "not implemented for some reason" errors. Otherwise, you could end up with behavior that is different depending on recursion depth. But, that might be context-dependent. But cycle errors should be safe to unconditionally report; they don't depend on the recursion depth, they will always be an error whenever they're encountered. Helps with https://github.com/rust-lang/rust/issues/81091. r? ```@lcnr``` cc ```@matthewjasper``` | ||||
| 2022-09-19 | Make cycle errors recoverable | Joshua Nelson | -0/+2 | |
| In particular, this allows rustdoc to recover from cycle errors when normalizing associated types for documentation. In the past, `@jackh726` has said we need to be careful about overflow errors: > Off the top of my head, we definitely should be careful about treating overflow errors the same as "not implemented for some reason" errors. Otherwise, you could end up with behavior that is different depending on recursion depth. But, that might be context-dependent. But cycle errors should be safe to unconditionally report; they don't depend on the recursion depth, they will always be an error whenever they're encountered. | ||||
| 2022-09-16 | remap ParamEnv with obligation | Deadbeef | -0/+8 | |
| 2022-05-10 | Remove `clone_code` method | Oli Scherer | -1/+1 | |
| 2022-05-10 | Move an extension trait method onto the type directly and reuse it | Oli Scherer | -1/+8 | |
| 2022-02-15 | Overhaul `Const`. | Nicholas Nethercote | -1/+1 | |
| Specifically, rename the `Const` struct as `ConstS` and re-introduce `Const` as this: ``` pub struct Const<'tcx>(&'tcx Interned<ConstS>); ``` This now matches `Ty` and `Predicate` more closely, including using pointer-based `eq` and `hash`. Notable changes: - `mk_const` now takes a `ConstS`. - `Const` was copy, despite being 48 bytes. Now `ConstS` is not, so need a we need separate arena for it, because we can't use the `Dropless` one any more. - Many `&'tcx Const<'tcx>`/`&Const<'tcx>` to `Const<'tcx>` changes - Many `ct.ty` to `ct.ty()` and `ct.val` to `ct.val()` changes. - Lots of tedious sigil fiddling. | ||||
