forked from python/cpython
-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
This issue is to collect currently unstable Rust features that we either need or would like to have for CPython, inspired by Rust-for-Linux/linux#2
Required
These unstable features are needed to properly support Rust in CPython. There aren't reasonable workarounds to these.
-
-Zbuild-stdhttps://doc.rust-lang.org/cargo/reference/unstable.html#build-std
This is both for platform support and potentially reducing binary size. It also is a prerequisite for sanitizer support.
Nice to have
These unstable features may have workarounds, such as running on nightly in CI, but would be ideally stabilized.
-
-Zsanitizer=addresshttps://doc.rust-lang.org/beta/unstable-book/compiler-flags/sanitizer.html -
-Zsanitizer=memoryhttps://doc.rust-lang.org/beta/unstable-book/compiler-flags/sanitizer.html -
-Zsanitizer=threadhttps://doc.rust-lang.org/beta/unstable-book/compiler-flags/sanitizer.html -
feature(arbitrary_self_types)https://doc.rust-lang.org/unstable-book/language-features/arbitrary-self-types.html
For better abstractions over generic Python object APIs and specific types. PyO3 current uses type-specific traits to implement an ergonomic API over these types. -
macro_metavar_expr_concathttps://doc.rust-lang.org/stable/unstable-book/language-features/macro-metavar-expr-concat.html
This would make defining modules viaPyModExport_<module name>in a declarative macro nicer. We could potentially use a proc macro instead.
To other org members: please feel free to edit this issue as seen fit.
Metadata
Metadata
Assignees
Labels
No labels