e0e3981e17
* #[pymodule] mod some_module { ... } v3 Based on #2367 and #3294 Allows to export classes, native classes, functions and submodules and provide an init function See test/test_module.rs for an example Future work: - update examples, README and guide - investigate having #[pyclass] and #[pyfunction] directly in the #[pymodule] Co-authored-by: David Hewitt <mail@davidhewitt.dev> Co-authored-by: Georg Brandl <georg@python.org> * tests: group exported imports * Consolidate pymodule macro code to avoid duplicates * Makes pymodule_init take Bound<'_, PyModule> * Renames #[pyo3] to #[pymodule_export] * Gates #[pymodule] mod behind the experimental-declarative-modules feature * Properly fails on functions inside of declarative modules --------- Co-authored-by: David Hewitt <mail@davidhewitt.dev> Co-authored-by: Georg Brandl <georg@python.org>
14 lines
455 B
Plaintext
14 lines
455 B
Plaintext
error[E0658]: non-inline modules in proc macro input are unstable
|
|
--> tests/ui/invalid_pymodule_in_root.rs:4:1
|
|
|
|
|
4 | mod invalid_pymodule_in_root_module;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: see issue #54727 <https://github.com/rust-lang/rust/issues/54727> for more information
|
|
|
|
error: `#[pymodule]` can only be used on inline modules
|
|
--> tests/ui/invalid_pymodule_in_root.rs:4:1
|
|
|
|
|
4 | mod invalid_pymodule_in_root_module;
|
|
| ^^^
|