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
Yuji Kanagawa
67a7a6de67
Merge branch 'master' into clippy
2019-07-15 12:44:56 +09:00
Alexander Niederbühl
faa21f48c7
Fix some clippy lints
2019-07-14 22:42:37 +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
kngwyu
a6438ebb10
Handle a corner case in which a getter takes multiple Python
2019-07-14 14:35:50 +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
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
konstin
0279b3d69f
Release 0.7.0
2019-05-26 17:27:14 +09:00
Alexander Niederbühl
6a7090c0b0
Fix some clippy lints
2019-05-16 00:16:23 +02:00
Yuji Kanagawa
be10800ea6
Merge pull request #461 from kngwyu/pymethod-with-lifetime
...
Allow #[pymethods] to use lifetime
2019-04-29 13:12:51 +09:00
konstin
aeae195cb4
[WIP] Use syn::ext::IdentExt::unraw
2019-04-28 10:09:55 +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
konstin
7149a1fecb
Bump to 0.7.0-alpha.1 ( #457 )
2019-04-23 18:55:35 +02: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
Yuji Kanagawa
fb8d3605d1
Merge pull request #449 from birkenfeld/unwrapped_prop_types
...
Allow omitting PyResult wrapping in property get/set methods
2019-04-22 12:00:42 +09:00
konstin
f62f384ecd
Merge pull request #448 from PyO3/fix_442
...
Properly scope libc to fix #442
2019-04-18 18:46:47 +02:00
Georg Brandl
117f6eb47d
Allow omitting PyResult wrapping in property get/set methods
...
fixes #443
2019-04-17 22:29:12 +02:00
konstin
6d80ee0679
Properly scope libc to fix #442
...
Apparently we can't add a test for that because the test crates have libc
in scope
2019-04-17 19:08:55 +02:00
Fabrice Desclaux
73e4ed723f
Fix typo
2019-04-17 14:22:16 +02:00
Martin Larralde
51be6a60fe
Run cargo fmt
on pyo3-derive-backend
and tests
2019-04-14 01:50:00 +02:00
Martin Larralde
4e3d828181
Remove uneeded syn::parse_str
from pyo3-derive-backend
2019-04-14 01:47:19 +02:00
Martin Larralde
d482b715de
Fix signatures of PySequenceProtocol
methods
2019-03-31 05:28:52 +02:00
ijl
2bb0d05a30
Drop support for python2
2019-03-29 12:37:26 +00:00
konstin
8acc5289cc
Revert 176e0981c1
2019-03-28 12:54:26 +01:00
konstin
176e0981c1
(cargo-release) start next development iteration 0.6.1-alpha.0
2019-03-28 12:52:34 +01:00
konstin
3f27647b1b
Bump to 0.6.0
2019-03-28 12:49:59 +01:00
konstin
59a9d4fd9f
Merge branch 'master' into pyany
2019-03-18 01:00:26 +01:00
konstin
a56147fa52
Replace ::pyo3::
with only pyo3::
in the proc macros
...
This makes reexporting the macro output possible in the 2018 edition
2019-03-16 11:42:10 +01:00
konstin
6540a374af
Export pyo3_derive_backend::pyimpl::impl_methods
2019-03-16 11:38:05 +01:00
kngwyu
874d8a0835
Rename PyObjectRef with PyAny
2019-03-04 13:50:43 +09:00
konstin
ad590bd158
Some api improvements
2019-02-23 18:01:22 +01:00
konstin
0cd72ac213
Bump to 0.6.0-alpha.4
2019-02-20 11:30:09 +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
1a489d2829
Make the init methods use a value instead of a function
2019-02-13 13:59:47 +01:00
konstin
ce659941e8
Cleanup PyTypeObject and PyTypeCreate
2019-02-13 12:32:59 +01: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
56f2257e90
rust 2018 fixes
2019-02-01 16:23:34 +01:00
konstin
ae8a37cd0a
Allow 0..n pymethod blocks without specialization
2019-02-01 16:23:34 +01:00
konstin
936f0153e8
Migrate to rust 2018
2019-02-01 14:23:29 +01:00
konstin
5edd263371
rustfmt
2019-01-08 20:18:06 +01:00
konstin
0deaee01ad
Bump to 0.6.0-alpha.1 and update changelog from 0.5.3
2019-01-04 11:53:46 +01:00
konstin
89872dceb9
Replace deprecated methods
2018-12-15 14:15:43 +01:00
konstin
6d7f326176
Rename async to pyasync in the derive backend to fix #309
...
Patch created by @IvanKuzavkov
2018-12-15 14:13:18 +01:00
konstin
9c8c5a6063
Rename #[pymodinit] to #[pymodule]
2018-11-15 19:43:29 +01:00