this post was submitted on 29 Aug 2023
18 points (100.0% liked)

Rust

6011 readers
2 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
top 4 comments
sorted by: hot top controversial new old
[–] 0xDEADBEEFCAFE@programming.dev 5 points 1 year ago (1 children)

How is the quality of the generated bindings?

I have previously used PyO3 for Python bindings and it doesn't seem to correctly generate type hints.

[–] Walnut356@programming.dev 2 points 1 year ago* (last edited 1 year ago) (1 children)

Pyo3 doesnt generate type hints at all iirc. There's some more info here

The gist, as i recall, is that you're supposed to maintain a .pyi file in the rust project folder that gets automatically added in by maturin when building. I'm no regex wizard, but i was able to whip together a small script that generates simple function and class stubs that also have the rust docstring. Iirc they're planning on adding some official support for generating type hints, but i have no idea how far along it is or where it is on the priority list

That's a bummer. I guess what I though was PyO3 type hints was actually just PyCharm guessing at the types.

I tried creating a .pyi file and it seems to be a pretty big improvement over no type hints, but I don't know how to add type hints for modules added with PyModule::add_module and adding the .pyi file seems to make the type checker not know about my other modules.

Would you mind sharing the script for auto generating type hints? Keeping them in sync manually would be pretty annoying.

[–] Vorpal@programming.dev 1 points 1 year ago

Seems rather limited: only targeting some high level languages. Now, if this could also generate C++ bindings i would be very interested.