about summary refs log tree commit diff
path: root/compiler/rustc_trait_selection/src/solve/alias_relate.rs
AgeCommit message (Collapse)AuthorLines
2024-06-18Uplift the new trait solverMichael Goulet-93/+0
2024-06-18SolverDelegateMichael Goulet-2/+2
2024-06-15Rollup merge of #126354 - compiler-errors:variance, r=lcnrMatthias Krüger-3/+3
Use `Variance` glob imported variants everywhere Fully commit to using the globbed variance. Could be convinced the other way, and change this PR to not use the globbed variants anywhere, but I'd rather we do one or the other. r? lcnr
2024-06-12Walk into alias-eq nested goals even if normalization failsMichael Goulet-0/+6
2024-06-12Use Variance glob import everywhereMichael Goulet-3/+3
2024-05-28EvalCtxt::tcx() -> EvalCtxt::interner()Michael Goulet-1/+1
2024-05-28add debug_assert to alias-relatelcnr-0/+1
2024-05-19Make EvalCtxt generic over internerMichael Goulet-1/+2
2024-05-13split out AliasTy -> AliasTermMichael Goulet-3/+3
2024-05-12solve: replace all `debug` with `trace`lcnr-2/+2
2024-04-04normalizes-to change from '1' to '0 to inf' stepslcnr-117/+34
2024-04-04unconstrained `NormalizesTo` term for opaqueslcnr-14/+6
2024-03-18move `normalizes_to_hack` to `AliasRelate`lcnr-12/+21
2024-02-29distinguish recursion limit based overflow for diagnosticslcnr-2/+4
also change the number of allowed fixpoint steps to be fixed instead of using the `log` of the total recursion depth.
2024-02-26always emit `AliasRelate` goals when relating aliaseslcnr-20/+47
Add `StructurallyRelateAliases` to allow instantiating infer vars with rigid aliases. Change `instantiate_query_response` to be infallible in the new solver. This requires canonicalization to not hide any information used by the query, so weaken universe compression. It also modifies `term_is_fully_unconstrained` to allow region inference variables in a higher universe.
2024-02-13use alias-relate to structurally normalize in the solverlcnr-7/+34
2024-02-13also try to normalize opaque types in alias-relatelcnr-72/+14
with this, alias-relate treats all aliases the same way and it can be used for structural normalization.
2024-01-10More commentsMichael Goulet-9/+26
2023-12-18track the source of nested goalslcnr-7/+9
2023-12-08implement and use `NormalizesTo`lcnr-6/+2
2023-11-09rework alias-relate to `norm(lhs) == norm(rhs)`lcnr-161/+98
2023-09-11inspect: strongly typed CandidateKindlcnr-3/+3
2023-08-03avoid more `ty::Binder:dummy`lcnr-1/+1
2023-07-24Rollup merge of #113987 - compiler-errors:comments, r=lcnrMatthias Krüger-1/+20
Comment stuff in the new solver r? `@lcnr`
2023-07-24lcnr's suggestionsMichael Goulet-2/+3
Co-authored-by: lcnr <rust@lcnr.de>
2023-07-23Comment stuff in the new solverMichael Goulet-1/+19
2023-07-22Get rid of subst-relate incompleteness in new solverMichael Goulet-9/+12
2023-07-14refactor(rustc_middle): Substs -> GenericArgMahdi Dibaiee-2/+2
2023-07-04add `ecx.probe_candidate`lcnr-37/+31
2023-06-20split probe into 2 functions for better readabilitylcnr-9/+5
2023-06-19introduce a separate set of types for finalized proof treesBoxy-6/+7
2023-06-19initial info dumpBoxy-31/+40
2023-06-06Fall back to bidirectional normalizes-to if no subst-eq in alias-eq goalMichael Goulet-23/+72
2023-06-06Move alias-relate to its own moduleMichael Goulet-0/+146