docs: note that `#[pymodule]` will create hidden module, like `#[pyfunction]`

This commit is contained in:
David Hewitt 2022-09-27 07:55:21 +01:00
parent a38a75da34
commit 9257de40fd
1 changed files with 5 additions and 0 deletions

View File

@ -30,6 +30,11 @@ use syn::{parse::Nothing, parse_macro_input};
///
/// For more on creating Python modules see the [module section of the guide][1].
///
/// Due to technical limitations on how `#[pymodule]` is implemented, a function marked
/// `#[pymodule]` cannot have a module with the same name in the same scope. (The
/// `#[pymodule]` implementation generates a hidden module with the same name containing
/// metadata about the module, which is used by `wrap_pymodule!`).
///
/// [1]: https://pyo3.rs/latest/module.html
#[proc_macro_attribute]
pub fn pymodule(args: TokenStream, input: TokenStream) -> TokenStream {