Remove cycle_stash from type_of_opaque and related Value impls#153247
Remove cycle_stash from type_of_opaque and related Value impls#153247Zoxc wants to merge 1 commit intorust-lang:mainfrom
cycle_stash from type_of_opaque and related Value impls#153247Conversation
|
The job Click to see the possible cause of the failure (guessed by this bot) |
| "computing type of opaque `{path}`", | ||
| path = tcx.def_path_str(key), | ||
| } | ||
| cycle_stash |
There was a problem hiding this comment.
This is the only use of this modifier. Could you remove it completely?
There was a problem hiding this comment.
Good point. This PR currently only partially reverts #117241 because of this.
| } | ||
| } | ||
|
|
||
| impl<'tcx> Value<'tcx> for ty::EarlyBinder<'_, Ty<'_>> { |
There was a problem hiding this comment.
Why are you changing this one? It doesn't use cycle_stash.
|
☔ The latest upstream changes (presumably #153278) made this pull request unmergeable. Please resolve the merge conflicts. |
|
@Zoxc: I think this can be improved if you:
That should allow the removal of the following, which all becomes dead code:
Only two tests will have their output affected, and one of those will be trivial changes, leaving |
This removes
cycle_stashfromtype_of_opaqueand relatedValueimpls. The motivation here is to allow removal of query cycle recovery.This reverts #117241.
The
auto-trait-leak.rstest has the most interesting change. I feel like switching to the normal cycle error is ok here. It shows the cycle unlike the old error, but it more verbose and lacks the span forSend(maybe it could be added to thetrait selection obligationquery?). It could probably be made less verbose with a custom handler using #153028 too.