konstin
6e807f852b
Merge pull request #535 from Alexander-N/datetime
...
Fix flaky test on Appveyor
2019-07-15 12:37:59 +02:00
konstin
5ae014fe52
Merge pull request #532 from Alexander-N/gc-default
...
Remove default implementation for PyGCProtocol
2019-07-15 12:02:52 +02:00
konstin
7e4b7168a6
Merge pull request #534 from Alexander-N/clippy
...
Make CI fail on clippy warnings
2019-07-15 11:48:22 +02:00
konstin
3d77cb3442
Merge branch 'master' into datetime
2019-07-15 11:45:15 +02:00
konstin
afb9605165
Merge pull request #537 from kngwyu/arraylist-opt
...
Use [Option<T>; N] in ArrayList
2019-07-15 11:42:58 +02:00
Alexander Niederbühl
f22708f140
datetime tests: Remove Python 2 compatibility
2019-07-15 08:13:03 +02:00
Alexander Niederbühl
ad0a068a38
Add minimal datetime as testcase which should pass on all platforms
2019-07-15 08:08:51 +02:00
Alexander Niederbühl
f642f19167
Increase MIN_DATETIME_FROM_TIMESTAMP for windows
...
Otherwise test_datetime_from_timestamp will give an OSError. This seems
to be a similar problem as https://bugs.python.org/issue29097
2019-07-15 08:07:14 +02:00
Yuji Kanagawa
9c961b4248
Merge branch 'master' into gc-default
2019-07-15 14:25:27 +09:00
kngwyu
370849e075
Use [Option<T>; N] in ArrayList
2019-07-15 13:32:18 +09:00
Yuji Kanagawa
67a7a6de67
Merge branch 'master' into clippy
2019-07-15 12:44:56 +09:00
Yuji Kanagawa
29b0a02fda
Merge pull request #531 from pganssle/enforce_gc_protocol
...
Enforce GC contract at compile time
2019-07-15 12:44:15 +09:00
Alexander Niederbühl
86cc424b23
Fail CI if there are clippy warnings
2019-07-14 22:42:37 +02:00
Alexander Niederbühl
cc31c7dbf2
Ignore remaining clippy lints
2019-07-14 22:42:37 +02:00
Alexander Niederbühl
faa21f48c7
Fix some clippy lints
2019-07-14 22:42:37 +02:00
Alexander Niederbühl
ceefa7cc27
Add __clear__ for test class
2019-07-14 20:45:05 +02:00
Alexander Niederbühl
cc469afc38
Merge branch 'master' into gc-default
2019-07-14 20:42:57 +02:00
Alexander Niederbühl
ec71dc63a0
Remove #[allow(unused_variables)]
2019-07-14 18:09:12 +02:00
Paul Ganssle
e633ae25eb
Add changelog error for PR #532
2019-07-14 18:00:16 +02:00
Paul Ganssle
ca07c48931
Add documentation for new PyGCProtocol behavior
2019-07-14 17:56:36 +02:00
Paul Ganssle
59ed277879
Enforce GC contract at compile time
...
PyGCProtocol must be implemented for anything registered as tracked by
the garbage collector. This modifies the `pyclass` macro to enforce this
at compile time.
2019-07-14 17:55:47 +02:00
Yuji Kanagawa
670b41c898
Merge pull request #530 from Alexander-N/gc-test
...
Implement PyGCProtocol in test class
2019-07-15 00:47:21 +09:00
Yuji Kanagawa
2d879bc853
Merge pull request #529 from kngwyu/getter-py
...
Allow py: Python as an argument of getter
2019-07-15 00:44:33 +09:00
Alexander Niederbühl
7c687a8d38
Remove default implementation for PyGCProtocol
...
Implementations for these methods should always be provided. See #531
2019-07-14 17:26:04 +02:00
Alexander Niederbühl
72339e5bf9
Implement PyGCProtocol in test class
...
For the garbage collection to work the PyGCProtocol has to be
implemented. Ideally it should not even get compiled if it doesn't since
a missing tp_traverse can produce a segfault.
2019-07-14 15:54:45 +02:00
kngwyu
a6438ebb10
Handle a corner case in which a getter takes multiple Python
2019-07-14 14:35:50 +09:00
konstin
96a56fa9b8
Merge pull request #505 from PyO3/fix_getattr
...
Use existing fields and methods before calling custom __getattr__
2019-07-13 20:39:14 +02:00
kngwyu
60cbe2f47d
Add a test that confirms __getattr__ doesn't override
2019-07-13 23:46:25 +09:00
konstin
7a83cb6afa
Use existing fields and methods before calling custom __getattr__
...
Previously, defining `__getattr__` would override all existing fields and methods. This changes it to behave like a `__getattr__` method defined in python, i.e. the custom method is only called if there isn't a field or method of that name
2019-07-13 22:54:43 +09:00
kngwyu
383d0d3bac
Do not execute test_compule_error in kcov
2019-07-13 15:00:19 +09:00
kngwyu
721e746585
Allow py: Python as an argument of getter
2019-07-12 23:41:13 +09:00
kngwyu
fc5cdc1031
[derive-backend] Add utils::if_type_is_python
2019-07-12 22:22:56 +09:00
Yuji Kanagawa
5d85ea7fdc
Merge pull request #513 from kngwyu/pinbox
...
Refactoring around Box usages
2019-07-10 11:43:10 +09:00
Yuji Kanagawa
83d0ac4e70
Merge pull request #523 from ijl/fix-deprecation
...
Fix deprecation warnings on sync and mem
2019-07-09 20:03:12 +09:00
kngwyu
9f827f024c
Update MIN_DATE/VERSION in build.rs
2019-07-09 19:06:50 +09:00
kngwyu
27f6abddba
Do not use tox-venv in travis
2019-07-09 18:48:45 +09:00
ijl
c27d9947a8
Fix deprecation warnings on sync and mem
2019-07-07 09:52:25 +00:00
konstin
9669edbfe3
Merge pull request #515 from kngwyu/guide-str-arg
...
Add arg=string example in the method arguments section in the guide
2019-06-21 20:54:26 +02:00
kngwyu
c12836edcf
Add arg=string example in the method arguments section in the guide
2019-06-21 17:07:51 +09:00
kngwyu
f611716553
Merge remote-tracking branch 'birkenfeld/parse_args_msg' into parse_args_msg
2019-06-16 22:14:08 +09:00
kngwyu
a4cf09f16a
Refactor derive_utils
2019-06-16 22:13:50 +09:00
Georg Brandl
ab802cd829
Document and test argument parsing annotations for pyfunctions
2019-06-16 22:13:50 +09:00
Georg Brandl
cba1657460
Adjust the varargs/kwds objects to remove arguments consumed by parameters
...
Also fix some other validation issues and add more tests.
fixes #420
2019-06-16 22:13:50 +09:00
Georg Brandl
241a8956c9
Fix the argument parsing TypeError message
...
- parens are already added by the _LOCATION at call site
- fix plural-"s" logic
2019-06-16 22:13:50 +09:00
kngwyu
2fa017a508
Refactor type_object::initialize_type
2019-06-16 21:54:06 +09:00
kngwyu
02d93346c2
Use Pin<Box> for PyBuffer
2019-06-16 21:53:02 +09:00
Yuji Kanagawa
3e69389e68
Merge pull request #512 from kngwyu/expose-py-run
...
Expose py_run! macro
2019-06-15 23:50:14 +09:00
kngwyu
9073956da6
Edit CHANGELOG
2019-06-15 23:12:22 +09:00
kngwyu
503ec1a061
Use unindent crate instead of _indoc_runtime
2019-06-15 01:10:18 +09:00
kngwyu
f642dbccb2
Refactor py_run!
2019-06-14 18:58:00 +09:00