Commit Graph

3786 Commits

Author SHA1 Message Date
kngwyu 2954342f6c A tiny optimization in ReferencePool::update_counts 2020-05-14 20:03:14 +09:00
David Hewitt 509db11777 Use parking_lot::Mutex instead of spinlock 2020-05-14 09:14:30 +01:00
David Hewitt 3b1f720eb0 Fix deadlock in update_counts 2020-05-13 18:36:40 +01:00
Yuji Kanagawa 7e4d1c41e3
Bump version to 0.10.0 (#919)
* Bump version to 0.10.0

* Apply suggestions from code review

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>

* Improve CHANGELOG completeness and messaging

* ObjectProtocol was in prelude

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2020-05-13 13:24:36 +09:00
Yuji Kanagawa 956ed52412
Merge pull request #920 from kngwyu/methods-impl-compat
Revert #889
2020-05-12 13:01:48 +09:00
kngwyu 9f8b7cd9bf Revert #889 2020-05-12 00:10:49 +09:00
Yuji Kanagawa 3e61a58011
Merge pull request #917 from kngwyu/pymethods-nodefault
Use PyMethodsImpl instead of *ProtocolImpl::methods
2020-05-11 20:36:24 +09:00
kngwyu 69dba08b01 Use PyMethodsImpl instead of *ProtocolImpl::methods 2020-05-11 20:08:21 +09:00
Yuji Kanagawa da22eecb5f
Merge pull request #897 from fusion-engineering-forks/macros-feature
Move macros into separate feature.
2020-05-11 11:01:46 +09:00
Yuji Kanagawa f769fed83d
Merge pull request #918 from davidhewitt/issue-template
Clarify pyo3 version on issue template
2020-05-11 11:00:51 +09:00
Yuji Kanagawa 5e7ce9558e
Merge pull request #908 from davidhewitt/clone-pyobject
Add Clone for PyObject / Py<T>
2020-05-11 11:00:29 +09:00
David Hewitt 86af474a95 Add Clone for PyObject / Py<T> 2020-05-10 12:01:18 +01:00
David Hewitt 0550db7622 Clarify pyo3 version on issue template 2020-05-10 09:48:10 +01:00
Yuji Kanagawa 8e84721438
Merge pull request #893 from davidhewitt/safe_acquire_gil
Close soundness hole with acquire_gil
2020-05-09 19:03:15 +09:00
David Hewitt 8ffe8c58b3 Close soundness hole with acquire_gil 2020-05-09 10:41:41 +01:00
Mara Bos dab8c2e4e7 Move macros into separate feature.
It's enabled by default to avoid breakage, but this allows compiling
pyo3 with a lot less dependencies in case the macros are not needed.
2020-05-09 11:27:30 +02:00
Yuji Kanagawa 818ebf7ddf
Merge pull request #914 from scalexm/const
Allow `#[classattr]` on associated constants
2020-05-09 13:18:55 +09:00
scalexm 76c7f9eaa8 Add a changelog item for `#[classattr]` 2020-05-08 22:37:33 +02:00
scalexm f6ac9a0212 Allow `#[classattr]` on associated constants 2020-05-08 22:30:49 +02:00
Yuji Kanagawa ab374b40da
Merge pull request #915 from davidhewitt/keep-a-changelog
Clean up CHANGELOG to match keep-a-changelog more closely
2020-05-09 00:23:00 +09:00
David Hewitt 69fb04f04b Clean up CHANGELOG 2020-05-08 15:41:53 +01:00
Yuji Kanagawa d5eb8f0544
Merge pull request #911 from davidhewitt/remove-objectprotocol
Remove ObjectProtocol
2020-05-08 18:56:52 +09:00
David Hewitt a5ebef4b2e Remove ObjectProtocol; Add methods to PyAny and use Deref 2020-05-08 10:05:19 +01:00
Yuji Kanagawa 027c90c223
Merge pull request #913 from davidhewitt/gil_state_list
Fix issue with PyObject drop and allow_threads
2020-05-08 12:59:36 +09:00
Yuji Kanagawa 8aeae6c8ac
Merge pull request #905 from scalexm/master
Add `#[classattr]` methods to define Python class attributes
2020-05-08 11:24:42 +09:00
scalexm e3d9544ae0 Add a paragraph to the guide about `#[classattr]` 2020-05-07 21:25:32 +02:00
scalexm d3d68eafb4 Add a test with class attrs returning `PyClass` instances 2020-05-07 21:25:27 +02:00
scalexm 8f22d10a14 Add a test showing that class attrs are immutable 2020-05-07 21:24:36 +02:00
scalexm 7b5a076680 Add `#[classattr]` methods to define Python class attributes 2020-05-07 21:23:47 +02:00
David Hewitt bb571930f1 Temporarily set GIL_COUNT to 0 during allow_threads 2020-05-07 16:34:38 +01:00
Yuji Kanagawa 8d282913bc
Merge pull request #912 from davidhewitt/allow_threads
Make allow_threads safe with panics
2020-05-08 00:27:13 +09:00
David Hewitt b083e0babf Make allow_threads safe with panics 2020-05-07 15:29:47 +01:00
Yuji Kanagawa eb60a1c556
Merge pull request #909 from PyO3/fix-grcov
Use -Cpanic=abort for correct coverage
2020-05-06 21:44:01 +09:00
kngwyu 11c1c5e6a1 Use -Cpanic=abort for correct coverage 2020-05-06 21:20:00 +09:00
Yuji Kanagawa 626268d28a
Merge pull request #899 from fusion-engineering-forks/mutex
Simplify ReleasePool, remove parking_lot dependency.
2020-05-05 18:09:20 +09:00
Yuji Kanagawa c8fb8fcc12
Merge pull request #797 from davidhewitt/catch-unwind
Add catch_unwind! macro to prevent panics crossing ffi boundaries
2020-05-05 17:45:29 +09:00
David Hewitt 9380bfde6f Add catch_unwind! macro to prevent panics crossing ffi boundaries 2020-05-05 08:17:06 +01:00
Mara Bos 0407288758 Simplify ReleasePool, remove parking_lot dependency.
Replaces the parking_lot Mutex by a simple AtomicBool spinlock,
and simplifies the ReleasePool to contain one Vec instead of pointers to
two Vecs.
2020-05-05 08:08:07 +02:00
Yuji Kanagawa c4f36535d8
Merge pull request #895 from fusion-engineering-forks/tryfrom
Replace num-traits dependency by std's TryFrom.
2020-05-05 12:26:35 +09:00
Yuji Kanagawa 9f1861034b
Merge pull request #901 from davidhewitt/simplify-callbacks
Simplify callback code using callback_body! macro
2020-05-05 12:25:03 +09:00
David Hewitt a19ed50515
Merge pull request #900 from Alexander-N/broken-links
Fix some broken links in guide
2020-05-05 01:43:12 +01:00
David Hewitt 9a2d908342 Simplify callback code using callback_body! macro 2020-05-05 00:27:50 +01:00
Alexander Niederbühl 618de30606 Fix broken links in guide 2020-05-04 23:22:42 +02:00
Mara Bos c4e68e6286
Update build.rs and remove serde and regex dependencies. (#896) 2020-05-04 19:51:19 +01:00
Mara Bos 39b41b3dc7 Replace num-traits dependency by std's TryFrom. 2020-05-04 15:50:07 +02:00
Yuji Kanagawa 0f07cf8db9
Merge pull request #886 from fusion-engineering-forks/dir
Add dir() to ObjectProtocol.
2020-05-04 18:07:27 +09:00
Mara Bos d32c3c0b37 Add test for dir(). 2020-05-04 09:57:46 +02:00
Yuji Kanagawa 879b0b58ac
Merge pull request #890 from davidhewitt/no-borrowed-objects
Remove unsound return of borrowed objects
2020-05-04 12:18:52 +09:00
David Hewitt 6f74fe6b38 Allow borrowed object for PyTuple::get_item.
As per feedback on #890
2020-05-03 18:48:01 +01:00
Yuji Kanagawa 78c51d3596
Merge pull request #891 from davidhewitt/benches
New benchmarks
2020-05-03 21:34:20 +09:00