Rollup merge of #130294 - nnethercote:more-lifetimes, r=lcnr
Lifetime cleanups The last commit is very opinionated, let's see how we go. r? `@oli-obk`
This commit is contained in:
commit
03e8b6bbfa
49 changed files with 224 additions and 231 deletions
|
@ -166,12 +166,12 @@ impl<'mir, 'tcx> Qualifs<'mir, 'tcx> {
|
|||
}
|
||||
}
|
||||
|
||||
struct LocalReturnTyVisitor<'ck, 'mir, 'tcx> {
|
||||
struct LocalReturnTyVisitor<'a, 'mir, 'tcx> {
|
||||
kind: LocalKind,
|
||||
checker: &'ck mut Checker<'mir, 'tcx>,
|
||||
checker: &'a mut Checker<'mir, 'tcx>,
|
||||
}
|
||||
|
||||
impl<'ck, 'mir, 'tcx> TypeVisitor<TyCtxt<'tcx>> for LocalReturnTyVisitor<'ck, 'mir, 'tcx> {
|
||||
impl<'a, 'mir, 'tcx> TypeVisitor<TyCtxt<'tcx>> for LocalReturnTyVisitor<'a, 'mir, 'tcx> {
|
||||
fn visit_ty(&mut self, t: Ty<'tcx>) {
|
||||
match t.kind() {
|
||||
ty::FnPtr(..) => {}
|
||||
|
|
|
@ -1114,7 +1114,7 @@ impl<'a, 'tcx, M: Machine<'tcx>> std::fmt::Debug for DumpAllocs<'a, 'tcx, M> {
|
|||
}
|
||||
|
||||
/// Reading and writing.
|
||||
impl<'tcx, 'a, Prov: Provenance, Extra, Bytes: AllocBytes>
|
||||
impl<'a, 'tcx, Prov: Provenance, Extra, Bytes: AllocBytes>
|
||||
AllocRefMut<'a, 'tcx, Prov, Extra, Bytes>
|
||||
{
|
||||
pub fn as_ref<'b>(&'b self) -> AllocRef<'b, 'tcx, Prov, Extra, Bytes> {
|
||||
|
@ -1162,7 +1162,7 @@ impl<'tcx, 'a, Prov: Provenance, Extra, Bytes: AllocBytes>
|
|||
}
|
||||
}
|
||||
|
||||
impl<'tcx, 'a, Prov: Provenance, Extra, Bytes: AllocBytes> AllocRef<'a, 'tcx, Prov, Extra, Bytes> {
|
||||
impl<'a, 'tcx, Prov: Provenance, Extra, Bytes: AllocBytes> AllocRef<'a, 'tcx, Prov, Extra, Bytes> {
|
||||
/// `range` is relative to this allocation reference, not the base of the allocation.
|
||||
pub fn read_scalar(
|
||||
&self,
|
||||
|
|
|
@ -101,7 +101,7 @@ pub trait Projectable<'tcx, Prov: Provenance>: Sized + std::fmt::Debug {
|
|||
}
|
||||
|
||||
/// A type representing iteration over the elements of an array.
|
||||
pub struct ArrayIterator<'tcx, 'a, Prov: Provenance, P: Projectable<'tcx, Prov>> {
|
||||
pub struct ArrayIterator<'a, 'tcx, Prov: Provenance, P: Projectable<'tcx, Prov>> {
|
||||
base: &'a P,
|
||||
range: Range<u64>,
|
||||
stride: Size,
|
||||
|
@ -109,7 +109,7 @@ pub struct ArrayIterator<'tcx, 'a, Prov: Provenance, P: Projectable<'tcx, Prov>>
|
|||
_phantom: PhantomData<Prov>, // otherwise it says `Prov` is never used...
|
||||
}
|
||||
|
||||
impl<'tcx, 'a, Prov: Provenance, P: Projectable<'tcx, Prov>> ArrayIterator<'tcx, 'a, Prov, P> {
|
||||
impl<'a, 'tcx, Prov: Provenance, P: Projectable<'tcx, Prov>> ArrayIterator<'a, 'tcx, Prov, P> {
|
||||
/// Should be the same `ecx` on each call, and match the one used to create the iterator.
|
||||
pub fn next<M: Machine<'tcx, Provenance = Prov>>(
|
||||
&mut self,
|
||||
|
@ -286,7 +286,7 @@ where
|
|||
pub fn project_array_fields<'a, P: Projectable<'tcx, M::Provenance>>(
|
||||
&self,
|
||||
base: &'a P,
|
||||
) -> InterpResult<'tcx, ArrayIterator<'tcx, 'a, M::Provenance, P>> {
|
||||
) -> InterpResult<'tcx, ArrayIterator<'a, 'tcx, M::Provenance, P>> {
|
||||
let abi::FieldsShape::Array { stride, .. } = base.layout().fields else {
|
||||
span_bug!(self.cur_span(), "project_array_fields: expected an array layout");
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue