Adam Reichold
83697f0c62
Also replace IterANextOutput by autoref-based specialization to allow returning arbitrary values
2023-12-20 09:56:16 +01:00
Adam Reichold
ca7d90dcf3
Replace IterNextOutput by autoref-based specialization to allow returning arbitrary values
2023-12-20 09:56:16 +01:00
Adam Reichold
d75d4bdf81
Fix some holdouts from using argument holders for lifetime extensions.
2023-12-20 09:56:16 +01:00
Adam Reichold
f03ccf204c
Also apply holder lifetime extension to slot implementations.
2023-12-19 16:29:43 +01:00
Adam Reichold
27019b5523
Use local variables to extend lifetime of holder references.
2023-12-19 16:21:18 +01:00
David Hewitt
07726aefc4
Merge pull request #3609 from wyfo/async_receiver
...
feat: allow async methods to accept `&self`/`&mut self`
2023-12-07 07:38:25 +00:00
Joseph Perez
f34c70c2da
feat: allow async methods to accept &self
/&mut self
2023-12-07 07:42:10 +01:00
David Hewitt
ed87637ebb
replace PyTryFrom
by splitting PyTypeInfo
2023-12-05 08:01:30 +03:00
Joseph Perez
8a674c2bd3
feat: add coroutine::CancelHandle
2023-12-04 07:46:51 +01:00
David Hewitt
e62e6cad5d
Merge pull request #3603 from davidhewitt/0.19-deprecations
...
remove all functionality deprecated in 0.19
2023-11-28 06:47:30 +00:00
David Hewitt
53311a90eb
Merge pull request #3602 from davidhewitt/dead-kws
...
remove some unused keyword declarations
2023-11-28 06:45:43 +00:00
Alex Gaynor
fae209419c
fixes #3561 -- silence new clippy warning
2023-11-27 17:06:59 -05:00
David Hewitt
5c6d49084f
remove all functionality deprecated in 0.19
2023-11-27 22:02:19 +00:00
David Hewitt
e76797a1d6
remove some unused keyword declarations
2023-11-27 21:32:01 +00:00
Joseph Perez
781b9e3983
feat: add coroutine __name__
/__qualname__
and not-awaited warning
2023-11-25 21:51:20 +01:00
David Hewitt
9f66846238
Merge pull request #3595 from davidhewitt/ok-wrap
...
refactor `OkWrap` to not call `.into_py(py)`
2023-11-25 05:43:54 +00:00
David Hewitt
c814078866
refactor OkWrap
to not call .into_py(py)
2023-11-24 10:41:08 +00:00
David Hewitt
5ac56b8eb0
improve error for invalid #[classmethod]
receivers
2023-11-24 03:24:46 +00:00
David Hewitt
aba3a3552d
remove type_is_pymodule
2023-11-22 21:30:10 +00:00
David Hewitt
69870d2298
Merge pull request #3540 from wyfo/coroutine
...
feat: support `async fn` in macros with coroutine implementation
2023-11-22 19:52:15 +00:00
David Hewitt
3f0dfa9698
Merge pull request #3587 from wyfo/classmethod_into
...
feat: allow classmethods to receive `Py<PyType>`
2023-11-22 19:34:19 +00:00
Joseph Perez
627841f1e2
feat: support async fn
in macros with coroutine implementation
2023-11-22 20:25:36 +01:00
Joseph Perez
744de3a142
feat: allow classmethod
/pass_module
to receive owned types
...
This is necessary for async functions
2023-11-22 07:45:59 +01:00
David Hewitt
bd0174aa5d
Change return types of py.None()
, py.NotImplemented()
and py.Ellipsis()
to typed singletons
2023-11-17 16:16:19 +00:00
David Hewitt
b73c06948c
Merge pull request #3504 from davidhewitt/classmethod-receiver
...
emit helpful error hint for classmethod with receiver
2023-10-10 21:35:34 +00:00
David Hewitt
6c90325a1c
deprecate undocumented #[__new__]
form of #[new]
2023-10-10 08:47:03 +01:00
David Hewitt
ddc04ea093
emit helpful error hint for classmethod with receiver
2023-10-10 06:30:19 +01:00
David Hewitt
b3ee70db40
refactor parse_fn_type
2023-10-08 21:31:59 +01:00
David Hewitt
1158c08f42
error on passing arguments to #[new]
and similar attributes
2023-10-08 21:31:59 +01:00
David Hewitt
a1d333a563
emit compile errors on macros inside #[pymethods]
...
Co-authored-by: Bruno Kolenbrander <59372212+mejrs@users.noreply.github.com>
2023-10-02 22:15:29 +01:00
David Hewitt
6c0386ec7e
remove branches for dead call
and init
attrs
2023-09-27 08:52:56 +01:00
David Hewitt
5798caf1f8
better Some
-wrapping for default arguments
2023-09-21 21:14:44 +01:00
David Hewitt
e28403e772
call PyObject_GC_Untrack before deallocating
2023-09-09 22:29:58 +01:00
David Hewitt
4c46d81afd
simplify thread checker implementation
2023-09-03 14:15:26 +01:00
David Hewitt
f7503afbc8
remove all #py quoting
2023-08-18 14:04:38 +01:00
DataTriny
1a73ce6e60
Address review comments
2023-08-15 20:56:13 +02:00
DataTriny
f02fe9478d
Make rename_all accept a renaming rule, allow applying it to classes as well
2023-08-15 10:15:48 +02:00
DataTriny
a9e9ec628d
Add attribute to
2023-08-13 18:25:07 +02:00
David Hewitt
64adab1a76
add as_ptr and into_ptr inherent methods
2023-08-11 10:49:42 +01:00
David Hewitt
686fe0aac2
add macro quotes module for common snippets
2023-07-29 21:24:11 +01:00
David Hewitt
e86dbab387
macros: _py
-> py
2023-07-29 21:24:11 +01:00
David Hewitt
c1126740c5
fix compile failure for getter with return lifetime of self
2023-07-29 21:20:10 +01:00
David Hewitt
45ff25cd2a
clippy: deny / fix used-underscope-binding lint
2023-07-16 20:49:45 +01:00
David Hewitt
52cd9cbc90
macros: change self_arg to be an expression
2023-07-14 13:18:57 +01:00
David Hewitt
b65cbb958b
ci: updates for rust 1.71
2023-07-14 12:10:37 +01:00
David Hewitt
bb05896324
Merge pull request #3311 from davidhewitt/frozen-receiver-error
...
improve error span for mutable access to `#[pyclass(frozen)]`
2023-07-12 06:21:25 +00:00
David Hewitt
56b7c38e24
improve error span for mutable access to #[pyclass(frozen)]
2023-07-11 22:34:53 +01:00
David Hewitt
a5d97b3ad0
remove some dead fields from FnArg
2023-07-11 19:59:12 +01:00
Adam Reichold
bd7aed4b12
Add implementation of Iterator::size_hint for PyIterator
...
When the Python iterator backing `PyIterator` has a `__length_hint__` special
method, we can use this as a lower bound for Rust's `Iterator::size_hint` to
e.g. support pre-allocation of collections.
This is implemented using `PyObject_LengthHint` which is not available in the
stable ABI and hence so is `Iterator::size_hint`. This should be fine since this
is an optimization in any case and the stable ABI is expected to have slightly
worse performance overall.
2023-07-09 10:16:20 +02:00
David Hewitt
bf2f441567
prefer inner / _private naming
2023-07-04 21:03:24 +01:00