Commit Graph

2055 Commits

Author SHA1 Message Date
Yuji Kanagawa d5b696f7ac
Merge pull request #869 from kngwyu/unsafe-gilpool
Bound 'py lifetime by GILPool in the internal usecases
2020-04-13 12:19:27 +09:00
Yuji Kanagawa ae81865232 Apply suggestions from David
Co-Authored-By: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2020-04-13 11:05:48 +09:00
kngwyu 2cd466dc46 Bound 'py lifetime by GILPool when it's possible 2020-04-12 23:55:23 +09:00
David Hewitt 97fd658593
Add IntoPy<PyObject> for HashSet and BTreeSet (#865) 2020-04-12 14:44:01 +09:00
Yuji Kanagawa 5e285fda78
Fix synchronization of datetime tests (#867)
* Fix synchronization of datetime tests

* Use Mutex instead of RawMutex
2020-04-11 19:10:16 +09:00
Yuji Kanagawa c2b173a14f
Merge pull request #868 from kngwyu/parking-lot-nonightly
Remove nightly flag from parking_lot
2020-04-11 15:08:57 +09:00
kngwyu 4af61e83c3 Remove nightly flag from parking_lot 2020-04-11 14:35:40 +09:00
Yuji Kanagawa 7b1e8a6daf
Merge pull request #851 from davidhewitt/pointer-optimization
Improve performance on pointer drop
2020-04-10 12:30:35 +09:00
Yuji Kanagawa 2da04e5b9b
Merge pull request #862 from kngwyu/use-lock-in-datetime-tests
Lock other threads before importing datetime
2020-04-10 12:00:05 +09:00
kngwyu 9dc3f9dc1a Lock other threads before import datetime to avoid test failure 2020-04-09 22:11:03 +09:00
Yuji Kanagawa af553685f8
Merge pull request #861 from kngwyu/merge-0.9.2
Bump version to 0.9.2 (second try)
2020-04-09 21:57:24 +09:00
Yuji Kanagawa 5add8d1dee
Merge branch 'master' into merge-0.9.2 2020-04-09 17:17:52 +09:00
kngwyu a73ff502ba More changelog 2020-04-09 17:13:05 +09:00
David Hewitt fe57f64435 Improve performance on pointer drop
Co-Authored-By: Yuji Kanagawa <yuji.kngw.80s.revive@gmail.com>
2020-04-09 08:51:43 +01:00
Yuji Kanagawa 53b63cddc2
Merge pull request #855 from althonos/patch-gc
Fix potential panics caused by Garbage Collector
2020-04-09 16:39:58 +09:00
Yuji Kanagawa 724a3fcc71
Merge pull request #858 from davidhewitt/refactor-callbacks
Refactor CallbackConverter code
2020-04-09 13:07:12 +09:00
Yuji Kanagawa 956d499f5d Merge pull request #848 from ijl/reduce-build-deps
Reduce build dependencies from regex
2020-04-09 13:01:53 +09:00
kngwyu c83d88ba8d Bump version to 0.9.2 2020-04-09 13:00:13 +09:00
Martin Larralde 1e8e6fd827 Fix clippy warning about unused arguments in `tests/test_gc.rs` 2020-04-09 02:06:19 +02:00
Martin Larralde 5f2ec47bea Add proper test for GC double borrow issue in `tp_traverse` wrapper 2020-04-09 00:52:49 +02:00
David Hewitt d8effb24e8 Refactor CallbackConverter code
Now shorter and allows use of the ? operator inside callback code
2020-04-08 21:55:11 +01:00
Martin Larralde 049202c011 Add changelog entry [ci skip] 2020-04-08 16:35:22 +02:00
Martin Larralde b73bb06ff4 Fix panics caused by GC borrowing when class is already mutably borrowed 2020-04-08 16:25:32 +02:00
Yuji Kanagawa a9357ef8a1
Merge pull request #852 from davidhewitt/20200407-fix-clippy-warnings
Fix clippy complaint of empty return type
2020-04-08 21:00:12 +09:00
Yuji Kanagawa 1b6d8be6b0
Merge pull request #850 from PyO3/davidhewitt-tidy-changelog
Tidy up CHANGELOG newlines
2020-04-08 20:59:41 +09:00
David Hewitt 8f41d56b9e Fix clippy complaint of empty return type 2020-04-08 08:04:29 +01:00
David Hewitt b5b8264eb4 Tidy up changelog newlines 2020-04-08 08:02:54 +01:00
Yuji Kanagawa cffe7edf41
Merge pull request #849 from ijl/dict-presized
_PyDict_NewPresized()
2020-04-07 11:59:25 +09:00
Yuji Kanagawa 5a68f749f0
Merge pull request #848 from ijl/reduce-build-deps
Reduce build dependencies from regex
2020-04-07 11:59:03 +09:00
ijl 97f4987958 _PyDict_NewPresized() 2020-04-06 14:55:12 +00:00
ijl 702411aefe Reduce build dependencies from regex
This avoids users compiling four crates for the "perf" and
"unicode" features. regex is only used in build.rs to parse
some #define lines so it doesn't need to compile support for
thread-local caches etc or parsing by unicode code point.
2020-04-06 14:33:06 +00:00
Yuji Kanagawa 184bafc313
Merge pull request #847 from kngwyu/readme-tweak
Separate examples and tooling section in README and the guide
2020-04-03 11:33:17 +09:00
kngwyu 8d1678e28e Separate examples and tooling section in README and the guide 2020-04-02 23:56:19 +09:00
Yuji Kanagawa 1aa4ae8284
Merge pull request #843 from kngwyu/set-extract-tweaks
Add tests for FromPyObject implementation for HashSet/BTreeSet
2020-03-30 15:22:32 +09:00
kngwyu 810d3b62ab Add tests for FromPyObject implementation for HashSet/BTreeSet 2020-03-30 14:37:37 +09:00
Yuji Kanagawa 85de698a0d
Merge pull request #839 from kngwyu/radd-fix
Make __r*__ methods work with operators
2020-03-30 12:40:17 +09:00
Yuji Kanagawa e0c1f82b6c
Merge pull request #842 from ArniDagur/set_frompyobj
Implement FromPyObject for HashSet and BTreeSet
2020-03-30 11:55:59 +09:00
David Hewitt 1efe142566 Fix clippy warning 2020-03-30 11:48:01 +09:00
Árni Dagur 97aca504a3 Implement FromPyObject for HashSet and BTreeSet 2020-03-29 20:58:36 -04:00
kngwyu ac418ce020 Inhibit __ipow__ to take Modulo 2020-03-30 03:01:44 +09:00
kngwyu 25eda36353 Speficy METH_COEXIST for some number methods except 2020-03-30 02:02:57 +09:00
Yuji Kanagawa 6bc5207d4f
Merge pull request #841 from kngwyu/travis-apt
Change travis dependencies
2020-03-29 18:18:28 +09:00
kngwyu 5331fc594c Reduce travis dependencies 2020-03-29 17:40:45 +09:00
Yuji Kanagawa b3566bc7d9
Merge pull request #830 from oconnor663/maxsize
use struct.calcsize("P") rather than platform.machine()
2020-03-29 16:07:57 +09:00
Jack O'Connor d2c07a87d2 xfail a couple of datetime tests on Python 3.5 + macOS 2020-03-29 15:38:42 +09:00
kngwyu a76bd7c4e3 Add a test that shows __add__ overrides __radd__ 2020-03-29 00:26:11 +09:00
kngwyu 970e393bb9 Make __r*__ methods work by slot fallback 2020-03-28 18:17:40 +09:00
kngwyu 77b4b9e67d Refactor impl_method_proto 2020-03-28 17:19:15 +09:00
Jack O'Connor 9e23476221 avoid using platform.architecture() to detect 32-bit-ness in datetime tests
Same reasoning as the previous commit.
2020-03-26 14:01:18 -04:00
Jack O'Connor f3876a90b3 use struct.calcsize("P") rather than platform.machine()
platform.machine() gives the wrong answer if you're running 32-bit
Python on a 64-bit machine.

The reason we don't use platform.architecture() here is that it's not
reliable on macOS. See https://stackoverflow.com/a/1405971/823869.
Similarly, sys.maxsize is not reliable on Windows. See
https://stackoverflow.com/questions/1405913/how-do-i-determine-if-my-python-shell-is-executing-in-32bit-or-64bit-mode-on-os/1405971#comment6209952_1405971
and https://stackoverflow.com/a/3411134/823869.

Also use CARGO_CFG_TARGET_POINTER_WIDTH rather than inferring the Rust
target pointer width from CARGO_CFG_TARGET_ARCH.
2020-03-26 14:01:14 -04:00