Michael Goulet
50a5da16b8
EvalCtxt::tcx() -> EvalCtxt::interner()
2024-05-28 10:45:51 -04:00
lcnr
87599ddd86
add debug_assert to alias-relate
2024-05-28 04:44:45 +00:00
Michael Goulet
9dc073aa4b
Make EvalCtxt generic over interner
2024-05-19 19:38:28 -04:00
Michael Goulet
3bcdf3058e
split out AliasTy -> AliasTerm
2024-05-13 11:59:42 -04:00
lcnr
41ebd16266
solve: replace all debug with trace
2024-05-12 03:29:50 +00:00
lcnr
92b280ce81
normalizes-to change from '1' to '0 to inf' steps
2024-04-04 12:39:58 +02:00
lcnr
d99c775feb
unconstrained NormalizesTo term for opaques
2024-04-04 07:47:22 +02:00
lcnr
33c274f658
move normalizes_to_hack to AliasRelate
2024-03-18 12:08:06 +01:00
lcnr
5ec9b8d778
distinguish recursion limit based overflow for diagnostics
...
also change the number of allowed fixpoint steps to be fixed instead
of using the `log` of the total recursion depth.
2024-02-29 10:14:02 +01:00
lcnr
1b3164f5c9
always emit AliasRelate goals when relating aliases
...
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-26 10:17:43 +01:00
lcnr
3e3e207ad7
use alias-relate to structurally normalize in the solver
2024-02-13 05:08:51 +01:00
lcnr
bbe2f6c0b2
also try to normalize opaque types in alias-relate
...
with this, alias-relate treats all aliases the same way
and it can be used for structural normalization.
2024-02-13 04:47:32 +01:00
Michael Goulet
3799568895
More comments
2024-01-10 16:29:23 +00:00
lcnr
ca718ffd2d
track the source of nested goals
2023-12-18 08:47:29 +01:00
lcnr
ffb4c08a81
implement and use NormalizesTo
2023-12-08 01:31:18 +01:00
lcnr
e3850f404d
rework alias-relate to norm(lhs) == norm(rhs)
2023-11-09 11:32:50 +01:00
lcnr
8225a2e9ec
inspect: strongly typed CandidateKind
2023-09-11 13:11:32 +02:00
lcnr
a090b4548d
avoid more ty::Binder:dummy
2023-08-03 14:16:26 +02:00
Matthias Krüger
2660d5d977
Rollup merge of #113987 - compiler-errors:comments, r=lcnr
...
Comment stuff in the new solver
r? `@lcnr`
2023-07-24 17:47:09 +02:00
Michael Goulet
3ad3bb64d9
lcnr's suggestions
...
Co-authored-by: lcnr <rust@lcnr.de>
2023-07-24 08:37:40 -07:00
Michael Goulet
f3553691a8
Comment stuff in the new solver
2023-07-23 12:30:52 -07:00
Michael Goulet
e32011209d
Get rid of subst-relate incompleteness in new solver
2023-07-22 15:33:37 +00:00
Mahdi Dibaiee
e55583c4b8
refactor(rustc_middle): Substs -> GenericArg
2023-07-14 13:27:35 +01:00
lcnr
795c2ef7d9
add ecx.probe_candidate
2023-07-04 17:08:07 +02:00
lcnr
f5438d658f
split probe into 2 functions for better readability
2023-06-20 12:40:43 +02:00
Boxy
e367c04dc6
introduce a separate set of types for finalized proof trees
2023-06-19 09:06:16 +01:00
Boxy
3009b2c647
initial info dump
2023-06-19 09:01:37 +01:00
Michael Goulet
3ea7c512bd
Fall back to bidirectional normalizes-to if no subst-eq in alias-eq goal
2023-06-06 18:44:22 +00:00
Michael Goulet
7a2cdf20e4
Move alias-relate to its own module
2023-06-06 18:44:22 +00:00