Uh oh!
There was an error while loading. Please reload this page.
split NormalizesTo out of Projection - #112658
Conversation
There was a problem hiding this comment.
I don't think we should land this without first separately handling that FIXME.
With NormalizesTo as a goal getting proven by Projection in the environment it's otherwise far too easy to accidentally put a NormalizesTo into the environment which is useless. Even without bugs from this, it is still very confusing.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
should we skip all the nonsense and just emit an alias-eq here directly?
Well, actually, I guess this does behave differently on alias projection ?0 now 🤔
ce1d66b to
5f71900Comparerust-log-analyzer
commented
Jun 16, 2023
The job Click to see the possible cause of the failure (guessed by this bot) |
lcnr
commented
Jun 16, 2023
with this the following example currently fails: fnfoo(i:isize) -> isize{ i + 1}fnapply<A,F>(f:F,v:A)whereF:FnOnce(A) -> A{f(v);}pubfnmain(){apply(foo,2)}the reason is that we try to prove I think that to fix this we can either change the generalizer to emit |
jackh726
commented
Jun 16, 2023
Huh, that's exactly the problem I ran into with Chalk :) |
bors
commented
Jun 17, 2023
☔ The latest upstream changes (presumably #108860) made this pull request unmergeable. Please resolve the merge conflicts. |
compiler-errors
commented
Jun 29, 2023
@rustbot author |
…3, r=BoxyUwU split `NormalizesTo` out of `Projection` 3 third attempt at rust-lang#112658. Rebasing rust-lang#116262 is very annoying, so I am doing it again from scratch. We should now be able to merge it without regressing anything as we handle occurs check failures involving aliases correctly since rust-lang#117088. see https://hackmd.io/ktEL8knTSYmtdfrMMnA-Hgfixesrust-lang/trait-system-refactor-initiative#1 r? `@compiler-errors`
implementing solution 3 of https://hackmd.io/noGGefTfQ0eCARFb3D0tJw to fixrust-lang/trait-system-refactor-initiative#1
r? @compiler-errors