Transition the compiler arenas #61838
Labels
C-cleanup
Category: PRs that clean code up or issues documenting cleanup.
C-tracking-issue
Category: A tracking issue for an RFC or an unstable feature.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
We are in the midst of simplifying the compiler's lifetime system. In general, this means that
TyCtxt<'a, 'gcx, 'tcx>
is going to become justTyCtxt<'tcx>
, where'tcx
represents the lifetime of the entire compilation (we no longer have global and local arenas).Implementation plan
TyCtxt<'a, 'gcx, 'tcx>
toTyCtxt<'gcx, 'tcx>
rustc: replaceTyCtxt<'a, 'gcx, 'tcx>
withTyCtxt<'gcx, 'tcx>
. #61722TyCtxt<'gcx, 'tcx>
toTyCtxt<'tcx>
Unify all uses of 'gcx and 'tcx. #61817If your PR is affected
Once #61817 lands, what you want to do is generally rewrite to
TyCtxt<'tcx>
or -- less often --TyCtxt<'_>
. More specifically, you can convert older code by pattern matching like so:TyCtxt<_, 'tcx, _>
becomesTyCtxt<'tcx>
TyCtxt<'_, '_, 'tcx>
becomesTyCtxt<'tcx>
You can also handle any unused lifetime warnings by replacing the unused lifetime with
'_
.Note: when adapting your code, you should never need to introduce a new lifetime, you're only removing them. If you find yourself adding a
'gcx
to some impl, that's wrong =)The text was updated successfully, but these errors were encountered: