diff options
| author | Dylan DPC <99973273+Dylan-DPC@users.noreply.github.com> | 2022-05-23 15:11:04 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-23 15:11:04 +0200 |
| commit | f4bf64c3f0c82cbae2844ffc6f1a01b5e18ffe73 (patch) | |
| tree | 7943aa223a2d3dda407a3ca0b6683ec4d5105ab5 /compiler/rustc_mir_transform/src/coverage/graph.rs | |
| parent | 215722bd8daacde16f533ed89c9e0bee47660a92 (diff) | |
| parent | 1784634a39be33b71b9118f8900fd0377e2c75c0 (diff) | |
| download | rust-f4bf64c3f0c82cbae2844ffc6f1a01b5e18ffe73.tar.gz rust-f4bf64c3f0c82cbae2844ffc6f1a01b5e18ffe73.zip | |
Rollup merge of #97292 - compiler-errors:tcxify-rustc, r=davidtwco
Lifetime variance fixes for rustc #97287 migrates rustc to a `Ty` type that is invariant over its lifetime `'tcx`, so I need to fix a bunch of places that assume that `Ty<'a>` and `Ty<'b>` can be unified by shortening both to some common lifetime. This is doable, since many lifetimes are already `'tcx`, so all this PR does is be a bit more explicit that elided lifetimes are actually `'tcx`. Split out from #97287 so the compiler team can review independently.
Diffstat (limited to 'compiler/rustc_mir_transform/src/coverage/graph.rs')
| -rw-r--r-- | compiler/rustc_mir_transform/src/coverage/graph.rs | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/compiler/rustc_mir_transform/src/coverage/graph.rs b/compiler/rustc_mir_transform/src/coverage/graph.rs index 47190fa0d1a..510f1e64ed1 100644 --- a/compiler/rustc_mir_transform/src/coverage/graph.rs +++ b/compiler/rustc_mir_transform/src/coverage/graph.rs @@ -481,8 +481,8 @@ impl std::fmt::Debug for BcbBranch { // FIXME(#78544): MIR InstrumentCoverage: Improve coverage of `#[should_panic]` tests and // `catch_unwind()` handlers. fn bcb_filtered_successors<'a, 'tcx>( - body: &'tcx &'a mir::Body<'tcx>, - term_kind: &'tcx TerminatorKind<'tcx>, + body: &'a mir::Body<'tcx>, + term_kind: &'a TerminatorKind<'tcx>, ) -> Box<dyn Iterator<Item = BasicBlock> + 'a> { Box::new( match &term_kind { @@ -691,12 +691,9 @@ pub(super) fn find_loop_backedges( pub struct ShortCircuitPreorder< 'a, 'tcx, - F: Fn( - &'tcx &'a mir::Body<'tcx>, - &'tcx TerminatorKind<'tcx>, - ) -> Box<dyn Iterator<Item = BasicBlock> + 'a>, + F: Fn(&'a mir::Body<'tcx>, &'a TerminatorKind<'tcx>) -> Box<dyn Iterator<Item = BasicBlock> + 'a>, > { - body: &'tcx &'a mir::Body<'tcx>, + body: &'a mir::Body<'tcx>, visited: BitSet<BasicBlock>, worklist: Vec<BasicBlock>, filtered_successors: F, @@ -705,14 +702,11 @@ pub struct ShortCircuitPreorder< impl< 'a, 'tcx, - F: Fn( - &'tcx &'a mir::Body<'tcx>, - &'tcx TerminatorKind<'tcx>, - ) -> Box<dyn Iterator<Item = BasicBlock> + 'a>, + F: Fn(&'a mir::Body<'tcx>, &'a TerminatorKind<'tcx>) -> Box<dyn Iterator<Item = BasicBlock> + 'a>, > ShortCircuitPreorder<'a, 'tcx, F> { pub fn new( - body: &'tcx &'a mir::Body<'tcx>, + body: &'a mir::Body<'tcx>, filtered_successors: F, ) -> ShortCircuitPreorder<'a, 'tcx, F> { let worklist = vec![mir::START_BLOCK]; @@ -727,12 +721,9 @@ impl< } impl< - 'a: 'tcx, + 'a, 'tcx, - F: Fn( - &'tcx &'a mir::Body<'tcx>, - &'tcx TerminatorKind<'tcx>, - ) -> Box<dyn Iterator<Item = BasicBlock> + 'a>, + F: Fn(&'a mir::Body<'tcx>, &'a TerminatorKind<'tcx>) -> Box<dyn Iterator<Item = BasicBlock> + 'a>, > Iterator for ShortCircuitPreorder<'a, 'tcx, F> { type Item = (BasicBlock, &'a BasicBlockData<'tcx>); |
