Nathan Goldbaum
Nathan Goldbaum
I'd use `pyo3::sync::with_critical_section_mutex` to keep it consistent with the C API naming.
OK, I think I have poisoning implemented, but I've hit another stumbling block. I think the `with_critical_section_mutex` functions really want to accept a `PyMutex` but then have their closure be...
Thanks for the code review and the suggestions! > Should we split the PR in two? The PyMutex bits look pretty much ready. Good point, let's force-push this PR branch...
I responded to all the open comments.
I'm leaving all the reviews of the `with_critical_section_mutex` implementation from the prior iteration unresolved so I can find David's helpful notes later...
Actually, wait - sorry, going back to the comment above: https://github.com/PyO3/pyo3/pull/4523#discussion_r1743922232 The Rust standard library mutex *is* `!Send`, so we definitely do need `PhantomPinned`: https://github.com/rust-lang/rust/blob/246733a3d978de41c5b77b8120ba8f41592df9f1/library/std/src/sync/poison/mutex.rs#L232-L237 Does this also mean that...
I just hit this today now that the change to `wasm32-wasip1` stabilized in rust 1.84. If anyone is finding this thread and just wants a fix, you can do ```bash...
I don't have a problem with the extra `PyArrayIter_Check` in the fast path, that should just be a pointer comparison in the common case I think.
Thanks @lysnikolaou! Could you open the followup issue to track further improvements to `flat` when you have a chance?
This is a big refactor, so I think we'll need at least two experienced developers to go over the C code changes, so that might take a while. I'll try...