Commit graph

38 commits

Author SHA1 Message Date
kngwyu a2408cacbb Rename PyClassShell with PyCell 2020-02-08 15:05:13 +09:00
David Hewitt 43df3299ab Remove PyNoArgsFunction 2020-01-22 16:27:36 +00:00
kngwyu f26e07cfd6 Replace IntoInitializer<T> with Into<PyClassInitializer<T>> 2020-01-07 13:08:41 +09:00
David Hewitt 60edeb889e Simplify IntoInitializer 2020-01-06 13:19:58 +00:00
kngwyu 18e565fab5 New PyClassInitializer 2020-01-05 16:01:05 +09:00
kngwyu 8175d6f36a Merge branch 'master' into pyclass-new-layout 2019-12-19 16:12:45 +09:00
David Hewitt 4b18830f1e Add #[name] attribute support for #[pyfunction] 2019-12-17 22:14:28 +00:00
David Hewitt 7702395b3d Add #[name = "foo"] attribute to #[pymethods] 2019-12-17 17:45:53 +00:00
kngwyu b86de9376d Introduce PyClassInitializer 2019-12-15 21:04:36 +09:00
kngwyu 4d7dfafe2b Allow slf: &PyClassShell<Self> 2019-12-08 23:09:00 +09:00
kngwyu bdb66afe0a Make PyClassShell have dict&weakref 2019-12-08 17:18:25 +09:00
Jacob Lifshay a676e6d5aa clean up gen_py_method and fix typos 2019-12-06 15:05:41 -08:00
Jacob Lifshay af8c0d2531 switch text_signature to arguments only & add tests 2019-11-29 12:19:56 -08:00
Jacob Lifshay 3c1a975ec0 initial untested implementation 2019-11-24 06:00:21 -08:00
kngwyu 8550e0f575 Remove #[init] attribute 2019-10-31 19:39:53 +09:00
kngwyu 3c898ee27d [derive-backend] Do not increment option_pos for *args/**kwargs 2019-10-16 02:51:22 +09:00
Alexander Niederbühl c7a53611e0 Enable to give None as default value for an argument 2019-10-12 20:16:25 +02:00
Martin Larralde 33bf37d3d8 Run cargo fmt on source code and update CHANGELOG.md 2019-10-07 17:12:32 +02:00
konstin 3228b4cd6c
Merge pull request #585 from andersk/drain-gil
Require the GIL to be held in ReleasePool::drain
2019-09-05 12:46:35 +02:00
kngwyu df44e500a9 Remove py from parse_fn_args's args(to address clippy warning) 2019-09-02 23:05:42 +09:00
kngwyu c7e377a472 [derive_utils] Copy kwargs not to modify it 2019-09-01 23:59:24 +09:00
kngwyu 96b71bfb76 Merge branch 'master' into parse_args_msg 2019-08-31 17:03:15 +09:00
Anders Kaseorg e70e9ab5e6 Require the GIL to be held to drain the ReleasePool
This adds a `Python` marker to `GILPool`, to prevent the caller from
misusing it to drain the `ReleasePool` and release Python objects
without the GIL held.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-08-29 23:55:59 -07:00
konstin 30e82a3018 Replace IntoPyObject with IntoPy<PyObject> 2019-08-24 19:23:28 +02:00
konstin 39f151c3bd Upgrade to syn 1.0 2019-08-19 13:11:57 +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
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
kngwyu cf689840ef Allow lifetime in pymethods 2019-04-26 14:28:29 +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
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
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
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 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
Renamed from pyo3-derive-backend/src/py_method.rs (Browse further)