summary refs log tree commit diff
path: root/compiler/rustc_trait_selection/src/solve
AgeCommit message (Collapse)AuthorLines
2023-01-19trait solver: Implement Fn traits and tuple traitMichael Goulet-7/+142
2023-01-19trait solver: PointerSizedMichael Goulet-2/+39
2023-01-19swap Ambiguity and Unimplemented in new trait engineMichael Goulet-2/+4
2023-01-19Assert goal is fully normalized during assembleMichael Goulet-1/+4
2023-01-19HACK: self ty ambiguity hackMichael Goulet-1/+11
2023-01-19Fix IndexVec::drain_enumeratedMichael Goulet-10/+5
2023-01-18Rollup merge of #107030 - albertlarsan68:patch-3, r=lcnrMichael Goulet-1/+1
Correct typo https://github.com/rust-lang/rust/pull/106718#discussion_r1073508490
2023-01-18Handle structural traits more gracefullyMichael Goulet-215/+212
2023-01-18no subtyping in the new trait solverMichael Goulet-34/+23
2023-01-18Sized, Copy/CloneMichael Goulet-3/+151
2023-01-18Auto and alias traitsMichael Goulet-21/+164
2023-01-18Assemble object bound candidatesMichael Goulet-0/+52
2023-01-18implement consider_assumptionMichael Goulet-10/+70
2023-01-18Canonicalize trait solver response inside probeMichael Goulet-24/+25
2023-01-18Correct typoAlbert Larsan-1/+1
2023-01-18add commentlcnr-0/+1
2023-01-18add note about indirect cycleslcnr-0/+4
2023-01-18update project to emulate a projection cachelcnr-14/+124
2023-01-18add `eq` to `InferCtxtExt`lcnr-38/+49
2023-01-18remove assembly context and impl a bit morelcnr-163/+311
2023-01-18instantiate canonical vars eagerlylcnr-485/+509
2023-01-18update cachelcnr-112/+88
2023-01-17new trait solver: only consider goal changed if response is not identityMichael Goulet-1/+1
2023-01-16Rollup merge of #106835 - compiler-errors:new-solver-gat-rebase-oops, r=lcnrMatthias Krüger-1/+1
new trait solver: rebase impl substs for gats correctly you might've caught this while working on projection code, if so then you can close this pr r? `@lcnr`
2023-01-15Auto merge of #106742 - compiler-errors:new-solver-make-it-not-ice, r=lcnrbors-39/+98
Implement some FIXME methods in the new trait solver Implement just enough of the solver's response logic to make it not ICE. Also, fix a bug with `no_bound_vars` call failing due to canonical bound vars. r? `@lcnr`
2023-01-14change impl_trait_ref query to return EarlyBinder; remove ↵Kyle Matsuda-2/+2
bound_impl_trait_ref query; add EarlyBinder to impl_trait_ref in metadata
2023-01-14new trait solver: rebase impl substs for gats correctlyMichael Goulet-1/+1
2023-01-12HACK: Handle escaping bound vars from the canonical queryMichael Goulet-1/+1
2023-01-12Implement dummy query responses and a jank instantiateMichael Goulet-38/+97
2023-01-11Rollup merge of #106705 - compiler-errors:new-solver-err-properly, r=lcnrMatthias Krüger-11/+25
Report fulfillment errors in new trait solver Causes fewer ICEs when testing the new solver :smile:
2023-01-11Report fulfillment errors in new trait solverMichael Goulet-11/+25
2023-01-11Rollup merge of #106397 - compiler-errors:new-solver-impl-wc, r=lcnrnils-6/+21
Check `impl`'s `where` clauses in `consider_impl_candidate` in experimental solver Check impl's nested predicates as part of the recursive evaluate in `consider_impl_candidate`. <sub>Unless, for some reason, these are intentionally **not** checked here -- in which case, I really don't understand where they're being checked...<sub> r? ```@lcnr```
2023-01-09Check impl's where clauses in consider_impl_candidate in experimental solverMichael Goulet-6/+21
2023-01-03has_overflow only if value is *not* within limitMichael Goulet-1/+1
2022-12-20dedup assemblylcnr-298/+267
2022-12-19implement the skeleton of the updated trait solverlcnr-0/+1398