PyO3 0.21.1
This release is a set of touch-ups to PyO3 0.21 to fix cases found as adoption of PyO3 0.21.0 progressed.
The new PyBackedStr
and PyBackedBytes
types have had a large range of standard traits implemented, including Clone
, PartialEq
, Hash
, PartialOrd
, Display
, Debug
, Send
and Sync
.
The argument to a #[setter]
function now accepts the full range of input types as any other function argument in a #[pymethods]
block, and will now correctly handle a #[pyo3(from_py_with = "...")]
annotation.
Some procedural macro output has been adjusted to reuse more code and make it easier to reach complete code coverage in projects using PyO3. The import_exception_bound!
macro has been added to further assist with coverage during migration, by skipping generating code which is only needed to use the exception as a GIL Ref.
Finally, the experimental-async
feature now correctly handles async fn
in #[pymethods]
which have a &self
or &mut self
receiver plus additional arguments.
Thank you to the following users for the improvements:
@alex
@davidhewitt
@geo7
@Icxolu
@reswqa
@rikushoney
@tisonkun