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