| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-01-22 | Don't pick `T: FnPtr` nested goals | Boxy | -2/+21 | |
| 2025-01-15 | Rollup merge of #135498 - compiler-errors:dyn-upcasting-completeness, r=lcnr | Guillaume Gomez | -0/+4 | |
| Prefer lower `TraitUpcasting` candidates in selection Fixes #135463. The underlying cause is this ambiguity, but it's more clear (and manifests as a coercion error, rather than a MIR validation error) when it's written the way I did in the UI test. Sorry this is cursed r? lcnr | ||||
| 2025-01-14 | Make sure we can produce ConstArgHasWrongType errors for valtree consts | Michael Goulet | -2/+3 | |
| 2025-01-14 | Prefer lower TraitUpcasting candidates | Michael Goulet | -0/+4 | |
| 2025-01-06 | Rollup merge of #132345 - compiler-errors:fx-diag, r=lcnr | Jacob Pratt | -4/+75 | |
| Improve diagnostics for `HostEffectPredicate` in the new solver Adds derived cause for host effect predicates. Some diagnostics regress, but that's connected to the fact that our predicate visitor doesn't play well with aliases just yet. | ||||
| 2025-01-06 | Rollup merge of #134771 - compiler-errors:const-arg-has-type-err, r=lcnr | Matthias Krüger | -1/+18 | |
| Report correct `SelectionError` for `ConstArgHasType` in new solver fulfill r? ``@BoxyUwU`` | ||||
| 2025-01-06 | Recurse on GAT where clauses in fulfillment error proof tree visitor | Michael Goulet | -5/+9 | |
| 2025-01-06 | Add derived causes for host effect predicates | Michael Goulet | -3/+70 | |
| 2025-01-03 | Also in the new solver | Michael Goulet | -3/+2 | |
| 2024-12-25 | Report correct SelectionError for ConstArgHasType in new solver fulfill | Michael Goulet | -1/+18 | |
| 2024-12-20 | remove non-borrowck member constraints | lcnr | -2/+0 | |
| 2024-12-02 | Assert that obligations are empty before deeply normalizing | Michael Goulet | -0/+4 | |
| 2024-11-28 | support revealing defined opaque post borrowck | lcnr | -1/+3 | |
| 2024-11-26 | do not constrain infer vars in `find_best_leaf_obligation` | lcnr | -4/+13 | |
| 2024-11-23 | Auto merge of #133242 - lcnr:questionable-uwu, r=compiler-errors,BoxyUwU | bors | -1/+1 | |
| finish `Reveal` removal After #133212 changed the `TypingMode` to be the only source of truth, this entirely rips out `Reveal`. cc #132279 r? `@compiler-errors` | ||||
| 2024-11-23 | no more Reveal :( | lcnr | -1/+1 | |
| 2024-11-23 | Remove unnecessary bool from ExpectedFound | Michael Goulet | -2/+2 | |
| 2024-11-12 | Consolidate type system const evaluation under `traits::evaluate_const` | Boxy | -12/+11 | |
| mew | ||||
| 2024-10-29 | TypingMode :thinking: | lcnr | -15/+9 | |
| 2024-10-22 | remove unused field | lcnr | -1/+1 | |
| 2024-10-17 | Rollup merge of #131825 - lcnr:probe-no-more-leak-2, r=compiler-errors | Matthias Krüger | -0/+1 | |
| SolverDelegate add assoc type for Infcx makes writing trait bounds on it a lot nicer going forward. r? `@compiler-errors` | ||||
| 2024-10-17 | SolverDelegate add assoc type for Infcx | lcnr | -0/+1 | |
| 2024-10-17 | move `defining_opaque_types` out of `Canonical` | lcnr | -2/+2 | |
| 2024-10-16 | Rollup merge of #131699 - compiler-errors:better-errors-for-projections, r=lcnr | Matthias Krüger | -12/+22 | |
| Try to improve error messages involving aliases in the solver 1. Treat aliases as rigid only if it may not be defined and it's well formed (i.e. for projections, its trait goal is satisfied). 2. Record goals that are related to alias normalization under a new `GoalKind`, so we can look into them in the `BestObligation` visitor. 3. Try to deduplicate errors due to self types of goals that are un-normalizable aliases. r? lcnr | ||||
| 2024-10-15 | Be better at reporting alias errors | Michael Goulet | -5/+21 | |
| 2024-10-15 | Always recurse on predicates in BestObligation | Michael Goulet | -7/+1 | |
| 2024-10-12 | Swap PredicateObligation to ThinVec | GnomedDev | -1/+3 | |
| 2024-10-12 | Swap Vec<PredicateObligation> to type alias | GnomedDev | -10/+7 | |
| 2024-10-11 | remove outdated FIXMEs | lcnr | -0/+2 | |
| 2024-10-10 | impossible obligations check fast path | lcnr | -7/+8 | |
| 2024-09-25 | Compiler: Rename "object safe" to "dyn compatible" | León Orell Valerian Liehr | -1/+1 | |
| 2024-09-22 | Reformat using the new identifier sorting from rustfmt | Michael Goulet | -30/+29 | |
| 2024-09-12 | more eagerly discard constraints on overflow | lcnr | -1/+1 | |
| 2024-08-30 | Remove `#[macro_use] extern crate tracing` from `rustc_trait_selection`. | Nicholas Nethercote | -0/+4 | |
| 2024-08-14 | Rollup merge of #128828 - lcnr:search-graph-11, r=compiler-errors | 许杰友 Jieyou Xu (Joe) | -7/+3 | |
| `-Znext-solver` caching This PR has two major changes while also fixing multiple issues found via fuzzing. The main optimization is the ability to not discard provisional cache entries when popping the highest cycle head the entry depends on. This fixes the hang in Fuchsia with `-Znext-solver=coherence`. It also bails if the result of a fixpoint iteration is ambiguous, even without reaching a fixpoint. This is necessary to avoid exponential blowup if a coinductive cycle results in ambiguity, e.g. due to unknowable candidates in coherence. Updating stack entries pretty much exclusively happens lazily now, so `fn check_invariants` ended up being mostly useless and I've removed it. See https://gist.github.com/lcnr/8de338fdb2685581e17727bbfab0622a for the invariants we would be able to assert with it. For a general overview, see the in-process update of the relevant rustc-dev-guide chapter: https://hackmd.io/1ALkSjKlSCyQG-dVb_PUHw r? ```@compiler-errors``` | ||||
| 2024-08-12 | Rollup merge of #128912 - compiler-errors:do-not-recommend-impl, r=lcnr | Matthias Krüger | -5/+1 | |
| Store `do_not_recommend`-ness in impl header Alternative to #128674 It's less flexible, but also less invasive. Hopefully it's also performant. I'd recommend we think separately about the design for how to gate arbitrary diagnostic attributes moving forward. | ||||
| 2024-08-12 | do not use the global solver cache for proof trees | lcnr | -7/+3 | |
| doing so requires overwriting global cache entries and generally adds significant complexity to the solver. This is also only ever done for root goals, so it feels easier to wrap the `evaluate_canonical_goal` in an ordinary query if necessary. | ||||
| 2024-08-11 | Use assert_matches around the compiler | Michael Goulet | -3/+6 | |
| 2024-08-09 | Store do_not_recommend-ness in impl header | Michael Goulet | -5/+1 | |
| 2024-07-29 | Reformat `use` declarations. | Nicholas Nethercote | -9/+9 | |
| 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/+2 | |
| 2024-07-18 | valtree construction: keep track of which type was valtree-incompatible | Ralf Jung | -2/+2 | |
| 2024-07-09 | Split out overflow handling into its own module | Michael Goulet | -1/+1 | |
| 2024-07-08 | Move trait selection error reporting to its own top-level module | Michael Goulet | -1/+1 | |
| 2024-07-08 | Rollup merge of #127439 - compiler-errors:uplift-elaborate, r=lcnr | 许杰友 Jieyou Xu (Joe) | -8/+0 | |
| Uplift elaboration into `rustc_type_ir` Allows us to deduplicate and consolidate elaboration (including these stupid elaboration duplicate fns i added for pretty printing like 3 years ago) so I'm pretty hyped about this change :3 r? lcnr | ||||
| 2024-07-07 | Finish uplifting supertraits | Michael Goulet | -8/+0 | |
| 2024-07-07 | Get rid of trait_ref_is_knowable from delegate | Michael Goulet | -10/+0 | |
| 2024-07-05 | Split SolverDelegate back out from InferCtxtLike | Michael Goulet | -169/+2 | |
| 2024-06-21 | Rename a bunch of things | Michael Goulet | -6/+6 | |
| 2024-06-18 | Fix transmute goal | Michael Goulet | -1/+27 | |
