-
Notifications
You must be signed in to change notification settings - Fork 494
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(bindings/d): add D bindings support #5181
Conversation
761ff8c
to
f98f0e3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @kassane, thank you so much for your efforts on this! I've never written in D
before, so I'm unable to offer detailed advice. However, I've left some suggestions regarding the public API; please have a look.
80bd29b
to
2c418ef
Compare
This comment was marked as resolved.
This comment was marked as resolved.
1a9b85d
to
7ddea57
Compare
Rebased, single commit! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly LGTM, thank you @kassane for working on this.
* `std.paralellism` support added (write/read/list) * CI/CD test * rename `is_exists` - ref.: apache#5199 Signed-off-by: Matheus C. França <matheus-catarino@hotmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @kassane for working on this! I believe it's a good start point. Would you like to share this with Dlang community to collect some feedback?
Requirements
How to work D Binding?
importC read
opendal.h
on<root_dir>/bindings/c/include
to auto-generate a binding.Note: the
pragma attribute(push,nogc,nothrow)
is new feature (not released yet).https://dlang.org/changelog/pending.html#dmd.importc-pragma-stc
Note
Currently, cbindgen PR hasn't been merged to support D. So I've ruled out using the fork. But that doesn't stop me from using the current solution.
cc: @Xuanwo