conversions and `#[pyo3(get, set)]` for atomic integers
Open
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 16.2k
- Forks
- 1k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 66
Description
In #4566 we ran into the fact that atomic integers don't currently work as #[pyclass] fields.
We should decide what conversions we want on these types. We can probably implement:
IntoPyObjectandFromPyObjectfor owned values, because there is no atomic contention in these cases.- Should we implement
IntoPyObject for &AtomicX? It's not clear to me that we can always just useRelaxedordering there. - We should probably specialize the way that
#[pyclass(get, set)]work so thatRelaxedordering is used to write#[pyclass]fields. This is probably ok for those uses?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing issue #4566 and the existing conversion behavior for atomic integer types. Decide which owned and reference conversions are safe, including memory ordering, and define the expected behavior for #[pyclass(get, set)] fields before implementing and testing the result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- api
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100