pub fn overlapping_acquisitions(src: &str) -> Vec<Overlap>Expand description
Find every place src takes a lock while holding another.
Deliberately simple and line-based: it tracks let … = self.FIELD.lock_safe()
bindings and looks for a different self.OTHER.lock_safe() before the
binding goes out of scope or is explicitly dropped. A guard that is not bound
to a name (*self.flag.lock_safe() = false;) is released at the end of its
statement and cannot overlap anything, so it is only ever an inner
acquisition here.
TRACES: UR-005 | DR-052 | UT-052