kngwyu
a82726a240
Reguire GIL before constructing PyErr from Rust value
2019-09-07 15:38:59 +09:00
konstin
305b774ded
Merge pull request #450 from birkenfeld/parse_args_msg
...
Adjust the varargs/kwds objects to remove arguments consumed by parameters
2019-09-05 12:45:50 +02:00
kngwyu
3d821b7f47
Enable slf: PyRef<'py, Self>
2019-09-02 00:31:22 +09:00
kngwyu
96b71bfb76
Merge branch 'master' into parse_args_msg
2019-08-31 17:03:15 +09:00
konstin
30e82a3018
Replace IntoPyObject with IntoPy<PyObject>
2019-08-24 19:23:28 +02:00
Samuele Maci
f7ac0a2887
Address clippy::into_iter_on_ref issues
2019-08-17 15:27:05 +02:00
Samuele Maci
6b4a221d61
Address clippy::float_cmp issues
2019-08-17 14:10:36 +02:00
Samuele Maci
f008c569a6
Address clippy::trivially_copy_pass_by_ref issues
2019-08-17 14:10:36 +02:00
Samuele Maci
247c8b5f1c
Address clippy::map_clone issues
2019-08-17 14:10:36 +02:00
Samuele Maci
1ed7460bf3
Address clippy::or_fun_call issues
2019-08-17 14:10:36 +02:00
Samuele Maci
0aa02f715f
Address clippy::into_iter_on_array issues
2019-08-17 14:10:36 +02:00
Samuele Maci
8f57d9fb82
Address clippy::dead_code issues
2019-08-17 14:10:36 +02:00
Samuele Maci
5e0168b2e9
Address clippy::redundant_static_lifetimes issues
2019-08-17 14:10:36 +02:00
Samuele Maci
6ae27f9c44
Address clippy::unreadable_literal issues
2019-08-17 14:10:35 +02:00
Yuji Kanagawa
be22d9e5bb
Merge pull request #573 from kngwyu/ref_into
...
Implement IntoPyObject to PyRef
2019-08-11 21:04:36 +09:00
kngwyu
5ab216dfe0
Implement IntoPyObject to PyRef
2019-08-11 18:43:50 +09:00
Yuji Kanagawa
1f85593d0a
Merge pull request #564 from kngwyu/paste
...
Replace mashup with paste
2019-08-11 18:42:21 +09:00
konstin
98b7079183
Merge pull request #540 from PyO3/disable_broken_subclassing
...
Disable segfaulty subclassing by default
2019-08-05 14:39:46 +02:00
konstin
664209b3ed
Merge pull request #558 from danieldk/fix-iter-null-deref
...
Fix NULL pointer deref when creating iterator for non-iterable
2019-08-05 14:39:33 +02:00
konstin
5096f936dc
Disable segfaulty subclassing by default
...
See https://github.com/PyO3/pyo3/issues/220 and https://github.com/PyO3/pyo3/issues/407 for details on those segfaults
2019-08-05 11:52:47 +02:00
konstin
38f25f6462
Merge pull request #550 from hengchu/fix/rhs-arithmetic
...
Attempting to fix #549
2019-08-05 11:40:24 +02:00
kngwyu
41f31e85fd
Replace mashup with paste
2019-08-04 23:50:10 +09:00
Alexander Niederbühl
9d9ebfa556
Disable test for windows
...
The test fails for Windows, since the error message is provided by the
OS.
2019-08-03 22:36:23 +02:00
Alexander Niederbühl
618b9090ed
Add test for exception with custom error
...
Also simplify the old test.
2019-08-03 22:08:51 +02:00
Alexander Niederbühl
1e01f4f8cc
Use to_string() instead of description() for exception messages
...
`description()` is soft-deprecated and can differ from `to_string()`.
For example for NotFound error:
* `description()`: "entity not found"
* `to_string()`: "No such file or directory (os error 2)"
Since io errors provide their error code through the Display trait there
is no need to get it through `raw_os_error()`.
2019-08-01 00:48:56 +02:00
Daniël de Kok
ac28a3114b
Fix NULL pointer deref when creating iterator for non-iterable
...
Fixes #494 .
2019-07-27 19:58:18 +02:00
hengchu
149163e059
commenting out one of the rhs arithmetics test case for now...
2019-07-24 16:27:07 -04:00
hengchu
3596cc65c0
adding a small testcase for rhs arithmetics
2019-07-21 23:05:03 -04:00
Alexander Niederbühl
ceefa7cc27
Add __clear__ for test class
2019-07-14 20:45:05 +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
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
kngwyu
60cbe2f47d
Add a test that confirms __getattr__ doesn't override
2019-07-13 23:46:25 +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
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
Yuji Kanagawa
3e69389e68
Merge pull request #512 from kngwyu/expose-py-run
...
Expose py_run! macro
2019-06-15 23:50:14 +09:00
Yuji Kanagawa
05b0cb66f8
Merge pull request #506 from PyO3/more_error_information
...
Print error before on class init panic
2019-06-14 14:16:47 +09:00
kngwyu
0f9a3b1194
Expose py_run macro
2019-06-13 18:18:06 +09:00
konstin
dfd5a2abb8
Print error before on class init panic
...
Inspired by https://github.com/rust-numpy/rust-numpy/issues/97 , also fixes some warnings from the latest nightly
2019-06-05 12:01:09 +02:00
kngwyu
35f5301675
Reject generics explicitly for #[pyclass]
2019-06-05 18:46:17 +09:00
Martin Larralde
99fdafbb88
Allow setting the module name for a pyclass ( #499 )
...
* Add `MODULE` const value to `PyTypeInfo` trait
* Allow setting module name in `pyclass` macro arguments
* Add `$module` argument to `pyobject_native_type` macro in `pyo3::types`
* Set the right module for builtin types in `pyo3::types`
* Add `module` argument to example `word_count.WordCounter` class
* Add `module` argument of `pyclass` macro to guide
* Reformat code using `rustfmt`
* Add tests and entry in CHANGELOG.md for `module` argument in `pyclass`
* Make `$module` parameter in `pyobject_native_type` optional
* Make `pyobject_native_type` declare module as `Some("builtins")` by default
2019-06-03 12:18:44 +09:00
kngwyu
4bf448ecaa
Complete the PR
2019-05-25 23:19:07 +09:00
Georg Brandl
39d3ceb551
Make PyTuple constructors return &PyTuple
2019-05-25 22:40:32 +09:00
Alexander Niederbühl
299d325375
Enable setting the module name of a class
...
This is relevant for pickling objects.
2019-05-08 23:39:22 +02:00
kngwyu
cf689840ef
Allow lifetime in pymethods
2019-04-26 14:28:29 +09:00
Yuji Kanagawa
60cd0d09c4
Merge pull request #419 from kngwyu/pyclass-regression
...
Allow slf: PyRef<Self>/PyRefMut<Self> in pymethods
2019-04-24 14:10:28 +09:00
Alexander Niederbühl
faa3feda3f
Merge branch 'master' into doctest
2019-04-23 21:58:09 +02:00
kngwyu
a7736dd51b
Add test of slf: PyRefMut<_>
2019-04-23 23:16:09 +09:00
kngwyu
09bf9bbf4a
Allow slf: PyRef<Self> by replacing Self
2019-04-23 23:16:09 +09:00
kngwyu
b2e01066f0
Introduce FromPyPointer for slf: PyRef/PyRefMut
2019-04-23 23:16:09 +09:00
kngwyu
515c7beac0
Allow slf: Py<Self>/PyRef<Self>/PyRefMut<Self> in pymethods
2019-04-23 23:16:08 +09:00
Alexander Niederbühl
f1b0288d3c
Remove docmatic and several workarounds for the doctests
2019-04-19 22:47:21 +02:00
Alexander Niederbühl
5858823e83
Test readme and user guide with doc-comment
...
Also rename some files for consistency.
2019-04-19 22:38:11 +02:00
Georg Brandl
117f6eb47d
Allow omitting PyResult wrapping in property get/set methods
...
fixes #443
2019-04-17 22:29:12 +02:00
Martin Larralde
edd2fba2d6
Add tests for quotes in class/method documentation
2019-04-15 01:29:13 +02:00
Martin Larralde
51be6a60fe
Run cargo fmt
on pyo3-derive-backend
and tests
2019-04-14 01:50:00 +02:00
Martin Larralde
3f4f068c7f
Ensure #[getter]
doc is exposed as the __doc__
of the descriptor
2019-04-14 00:23:59 +02:00
Martin Larralde
569a7e9e95
Add more tests for #[pymethods]
docstrings
2019-04-13 23:25:45 +02:00
Martin Larralde
dfd1fa55c0
Remove dead code from tests/test_sequence.rs
2019-03-31 05:29:25 +02:00
Martin Larralde
3b7e83fb7c
Run cargo fmt
on tests/test_sequence.rs
2019-03-31 05:28:52 +02:00
Martin Larralde
dd2f1ba16a
Add tests for PySequenceProtocol
in tests/test_sequence.rs
2019-03-31 05:28:52 +02:00
ijl
2bb0d05a30
Drop support for python2
2019-03-29 12:37:26 +00:00
konstin
97189a16b9
Try fixing cargo fmt on travis ci
2019-03-24 17:19:15 +01:00
konstin
f75f742c58
Fix CStr usages
2019-03-20 21:48:41 +01:00
Miles Granger
711155d7ad
Update tests & docs with IntoPyDict::into_py_dict(py)
2019-03-20 20:04:00 +01:00
konstin
59a9d4fd9f
Merge branch 'master' into pyany
2019-03-18 01:00:26 +01:00
Alexander Niederbühl
f79f84a31b
Complete __dict__ support
...
Add `__dict__` slot to tp_getset of type_object. See
https://bugs.python.org/issue16272 for why this is necessary.
2019-03-17 20:31:05 +01:00
konstin
6540a374af
Export pyo3_derive_backend::pyimpl::impl_methods
2019-03-16 11:38:05 +01:00
Alexander Niederbühl
e2e4733b82
Test examples in user guide with travis
...
Test could only be activated for Python 3.5 and some tests had to be
ignored, see #381 and #387 .
2019-03-09 23:54:28 +01:00
kngwyu
874d8a0835
Rename PyObjectRef with PyAny
2019-03-04 13:50:43 +09:00
kngwyu
86d239e445
Rename ToPyPointer with AsPyPointer
2019-02-24 16:20:04 +09:00
konstin
d3743fec64
Python 2
2019-02-23 18:42:40 +01:00
konstin
6cd07c369c
Simpler new and clippy fixes
2019-02-23 18:38:00 +01:00
konstin
ad590bd158
Some api improvements
2019-02-23 18:01:22 +01:00
konstin
d02f7c3aa5
Big proc macro refactoring
...
* Removed a lot of clutter, unified some code
* Started using syn::parse::Parse for pyfunction attributes
* No more newlines between imports
* Renamed `#[prop(get, set)]` to `#[pyo3(get, set)]`
* `#[pyfunction]` now supports the same arguments as `#[pyfn()]`
* Some macros now emit proper spanned errors instead of panics.
2019-02-18 20:07:56 +01:00
konstin
2105fa896b
Add PyTuple tests
...
Initially proposed by athre0z in #307 , with the changes from latest master
2019-02-13 22:30:46 +01:00
konstin
6cb098ee12
Replace py.init_[ref|mut] with Py[Ref|Mut]::new
2019-02-13 21:52:21 +01:00
konstin
1a489d2829
Make the init methods use a value instead of a function
2019-02-13 13:59:47 +01:00
kngwyu
4a552a88cf
Py::new_ref -> PyRef::new
2019-02-08 23:51:14 +09:00
kngwyu
22687c3712
Modify PyIterProtocol to take PyRefMut
2019-02-05 17:27:34 +09:00
kngwyu
76e30b5248
Remove ToPyPointer and so on from pyclass
2019-02-04 00:34:06 +09:00
konstin
9e53418aad
Less feature(specialization)
2019-02-01 18:09:51 +01:00
konstin
328d61ca3b
Fix test for python2
2019-02-01 17:15:33 +01:00
konstin
c868cc3e4b
Fix test
2019-02-01 16:31:18 +01:00
konstin
c71c116f29
Better trait bounds with PyMethodsProtocol
2019-02-01 16:23:34 +01:00
konstin
0495ee52d3
ffi2 to rust 2018
2019-02-01 15:25:58 +01:00
konstin
936f0153e8
Migrate to rust 2018
2019-02-01 14:23:29 +01:00
Alexander Niederbühl
fbd012601e
Fix kwargs
...
kwargs was broken by a check for the number of given arguments. Only
apply this check if no arbitary number of keyword arguments are allowed
by a "**" parameter of `#[args(...)`.
Closes #318
2019-01-25 00:47:28 +01:00
Alexander Niederbühl
053fa5b984
Avoid race condition in gc tests
...
To avoid a segfault when the object is collected, disable garbage
collection for the duration of `gc_integration2`.
Closes #198
2019-01-10 00:46:24 +01:00
konstin
89872dceb9
Replace deprecated methods
2018-12-15 14:15:43 +01:00
kngwyu
25a5b74ba6
Use linked list in ReleasePool
2018-11-21 16:00:26 +09:00
konstin
9c8c5a6063
Rename #[pymodinit] to #[pymodule]
2018-11-15 19:43:29 +01:00
konstin
863ffb161f
Add wrap_module macro
2018-11-15 19:43:29 +01:00
konstin
57afb51604
Remove PyToken completely; Fixes #94
2018-11-12 14:42:21 +01:00
konstin
fb2349b6ec
Remove PyToken usages from tests
2018-11-12 14:41:29 +01:00
konstin
dbaa2de061
Small improvements around function calling
2018-10-31 11:38:45 +01:00
konstin
71c584a110
De-specialize ToBorrowedObject
2018-10-03 21:04:49 +02:00