Re: [PATCH v3 03/12] rust: xarray: add `contains_index` method

From: Andreas Hindborg

Date: Thu Feb 12 2026 - 05:54:09 EST


Andreas Hindborg <a.hindborg@xxxxxxxxxx> writes:

> As far as I understand, this is a borrow checker limitation. It is easy
> for us to look at this code and decide that the borrow on line 51 will
> never alias with the borrow on line 49.

I did a bit of googling, and this seems to be a well known issue with
the current implementation of lifetime analysis in the rust compiler.
Apparently this kind of code used to be OK [1] but the Rust devs decided
to remove the code that allowed this, because it was causing excessive
compilation times [2]. The upside is that this is solved by the new
lifetime analysis implementation called "Polonius" and it is the
intention to replace the existing implementation with Polonius at some
point [3].

Best regards,
Andreas Hindborg

[1] https://github.com/rust-lang/rust/issues/51545
[2] https://smallcultfollowing.com/babysteps/blog/2018/06/15/mir-based-borrow-check-nll-status-update/
[3] https://rust-lang.github.io/polonius/current_status.html