File tree Expand file tree Collapse file tree 1 file changed +0
-11
lines changed Expand file tree Collapse file tree 1 file changed +0
-11
lines changed Original file line number Diff line number Diff line change @@ -35,17 +35,6 @@ types should still be equal to each other.
35
35
Needed to prevent goals from succeeding in HIR typeck and then failing in MIR borrowck.
36
36
If this invariant is broken MIR typeck ends up failing with an ICE.
37
37
38
- ### Applying inference results from a goal does not change its result ❌
39
-
40
- TODO: this invariant is formulated in a weird way and needs to be elaborated.
41
- Pretty much: I would like this check to only fail if there's a solver bug:
42
- https://github.com/rust-lang/rust/blob/2ffeb4636b4ae376f716dc4378a7efb37632dc2d/compiler/rustc_trait_selection/src/solve/eval_ctxt.rs#L391-L407
43
-
44
- If we prove some goal/equate types/whatever, apply the resulting inference constraints,
45
- and then redo the original action, the result should be the same.
46
-
47
- This unfortunately does not hold - at least in the new solver - due to a few annoying reasons.
48
-
49
38
### The trait solver has to be * locally sound* ✅
50
39
51
40
This means that we must never return * success* for goals for which no ` impl ` exists. That would
You can’t perform that action at this time.
0 commit comments