Michael Goulet
280f69d858
Fix IndexVec::drain_enumerated
2023-01-19 15:25:33 +00:00
Michael Goulet
5d562be33d
Rollup merge of #107030 - albertlarsan68:patch-3, r=lcnr
...
Correct typo
https://github.com/rust-lang/rust/pull/106718#discussion_r1073508490
2023-01-18 18:00:30 -05:00
Michael Goulet
f672436f04
Handle structural traits more gracefully
2023-01-18 14:59:15 +00:00
Michael Goulet
34127c5080
no subtyping in the new trait solver
2023-01-18 14:59:15 +00:00
Michael Goulet
685c32fd85
Sized, Copy/Clone
2023-01-18 14:59:15 +00:00
Michael Goulet
45aa5c0f90
Auto and alias traits
2023-01-18 14:59:15 +00:00
Michael Goulet
3d87a8e848
Assemble object bound candidates
2023-01-18 14:28:14 +00:00
Michael Goulet
f99b273d57
implement consider_assumption
2023-01-18 14:28:14 +00:00
Michael Goulet
b84b1da2db
Canonicalize trait solver response inside probe
2023-01-18 14:28:14 +00:00
Albert Larsan
5a685a10ec
Correct typo
2023-01-18 14:08:41 +01:00
lcnr
369f9aa099
add comment
2023-01-18 08:11:15 +01:00
lcnr
415aa663a2
add note about indirect cycles
2023-01-18 08:11:15 +01:00
lcnr
31ac29d989
update project to emulate a projection cache
2023-01-18 08:11:15 +01:00
lcnr
9a757d6ee4
add eq
to InferCtxtExt
2023-01-18 08:11:15 +01:00
lcnr
660c28391c
remove assembly context and impl a bit more
2023-01-18 08:11:15 +01:00
lcnr
bf7dbff921
instantiate canonical vars eagerly
2023-01-18 08:11:13 +01:00
lcnr
b738b06160
update cache
2023-01-18 08:09:01 +01:00
Michael Goulet
148e4f73dc
new trait solver: only consider goal changed if response is not identity
2023-01-17 17:40:38 +00:00
Matthias Krüger
8ea26ca17f
Rollup merge of #106835 - compiler-errors:new-solver-gat-rebase-oops, r=lcnr
...
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-16 20:29:38 +01:00
bors
ae4d89dfb5
Auto merge of #106742 - compiler-errors:new-solver-make-it-not-ice, r=lcnr
...
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-15 15:07:27 +00:00
Kyle Matsuda
f29a334c90
change impl_trait_ref query to return EarlyBinder; remove bound_impl_trait_ref query; add EarlyBinder to impl_trait_ref in metadata
2023-01-14 00:29:56 -07:00
Michael Goulet
05f664a441
new trait solver: rebase impl substs for gats correctly
2023-01-14 04:47:10 +00:00
Michael Goulet
1de196fef3
HACK: Handle escaping bound vars from the canonical query
2023-01-12 21:01:34 +00:00
Michael Goulet
5a31d5ebe2
Implement dummy query responses and a jank instantiate
2023-01-12 21:01:34 +00:00
Matthias Krüger
865d83e87a
Rollup merge of #106705 - compiler-errors:new-solver-err-properly, r=lcnr
...
Report fulfillment errors in new trait solver
Causes fewer ICEs when testing the new solver 😄
2023-01-11 21:08:09 +01:00
Michael Goulet
104ec48c64
Report fulfillment errors in new trait solver
2023-01-11 18:05:50 +00:00
nils
16938915a4
Rollup merge of #106397 - compiler-errors:new-solver-impl-wc, r=lcnr
...
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-11 17:30:53 +01:00
Michael Goulet
36ee66c6c5
Check impl's where clauses in consider_impl_candidate in experimental solver
2023-01-09 17:24:36 +00:00
Michael Goulet
b2317a642d
has_overflow only if value is *not* within limit
2023-01-03 01:09:08 +00:00
lcnr
750bf36c33
dedup assembly
2022-12-20 07:30:24 +00:00
lcnr
a213bb36c9
implement the skeleton of the updated trait solver
2022-12-19 16:46:17 +00:00