ome indices among () are out of bounds are not disjoint!assertion failed: index.index() < self.num_pointsrustc_index::vec::IndexVec>attempted to read from stolen value: rustc_middle::mir::Body<'_>found more normalized_input_ty than local_declsthis needs to be modified if we're lowering non-async closuresSome(hir::CoroutineKind::Desugared(hir::CoroutineDesugaring::Async | hir::CoroutineDesugaring::Gen, hir::CoroutineSource::Closure))broken MIR in ): equate_normalized_input_or_output: `==` failed with `unexpected overflowed when processing region obligations: assertion failed: self.universal_regions.is_universal_region(fr0)assertion failed: self.universal_regions.is_universal_region(fr1)assertion failed: self.universal_regions.is_universal_region(fr2)can't find an upper bound!?ascribe_user_type_skip_wfimpossible case reachednon-defining use of `` in the defining scopethis call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules/* Args */if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use<>`consider implementing `Clone` for this typeyou could clone this value` implemented `Clone`, you could clone the valueconsider constraining this type parameter with `Clone` and `if implemented `Clone`, you could clone the valuethe mutable referenceconsider creating a fresh reborrow of here&mut * bodyborrow is only valid in the reference to `` escapes the body herereference escapes the consider assigning a valueinside of this loopthis parameter takes ownership of the valuemethodconsider changing this parameter type in ` to borrow instead if owning the value isn't necessaryborrow this binding in the pattern to avoid moving the value).clone()clone the value to increment its reference countconsider cloning the value if the performance cost is acceptableborrow occurs due to deref coercion to `deref defined hereconsider borrowing instead of transferring ownershipsecond immutableitmutableimmutable mutably borrowfirst is a field of the union ``, so it overlaps the field match guardindexing expressionconsider borrowing cannot assign twice to immutable variablecannot assign to immutable argumentfirst assignment to consider making this binding mutableto modify the original value, take a borrow insteadthe variable` isn't fully initializedisn't initializedis possibly-uninitializedpartially assigned binding partial initialization isn't supported, fully initialize the binding with a default value and mutate it, or use `std::mem::MaybeUninit` here but it binding initialized here in some conditionsbinding declared here but left uninitializedasyncgenstatic movemove move || async blockasync closureasync block/closure expected, but async function found.gen blockgen closuregen block/closure expected, but gen function found.async gen blockasync gen closureto force the to take ownership of (and any other referenced variables), use the `move` keywordasync blocks are not executed immediately and must either take a reference or ownership of outside variables they use requires argument type to outlive ` is returned herereport_escaping_closure_capture called with unexpected constraint category: ` argumenttry adding a local storing this...as the argument to this call...and then using that local `break` exits`continue` advancesverify that your loop breaking logic is correctconsider moving the expression out of the loop so it is only moved oncethis the loop at .swap(use `.swap()` to swap elements at the specified indices insteaduse `.split_at_mut(position)` to obtain two mutable non-overlapping sub-slicesconsider using `.split_at_mut(position)` or similar method to obtain two mutable non-overlapping sub-slicesconsider using `.swap(index_1, index_2)` to swap elements at the specified indicesassignthis call doesn't do anything, the result is still `` because `` doesn't implement `Clone`partially borrowuseassign to partthis reinitialization might get skippedthese 3 reinitializations and other might get skippedthese reinitializations might get skippedmatched onvalue here after occurs due to deref coercion to `temporary value; whose type `` implements the `Drop` traithere, drop of needs exclusive access to ``, because the type `try explicitly passing `&Self` into the closure as an argument }` doesn't implement `Copy` or `Clone`` implemented `Clone`, you could clone the value from the field instead of using the functional record update syntax.