Comments (1)
Change all categories into impl Foo instead.
This is not a bad idea. I've been tempted to try this. One thing I'd say is that this will result in a much bigger generated source. Take for example these uikit-sys bindings. It's been a while since I've generated them but IIRC, the generated rust was ~100k to ~300k lines of rust and took a few minutes to compile - it was all in one file and I don't think that can be parallelized. Admittedly, it also generates all the stuff for Foundation. The CIImageProvider
category of NSObject
for example has a lot of implementers.
Anyway, I commend you for looking into the realm of rust objective-c. Generating ergonomic and reasonable bindings from objective-c headers is pretty hard. The objc2 crate is pushing forward on generating ergonomic bindings for apple frameworks in the icrate
crate.
from rust-bindgen.
Related Issues (20)
- AArch64 Linux va_list not FFI-safe
- "rustified_non_exhaustive_enum" not supported in CLI
- 0.69 introduces issue with constantly rebuilding
- bindgen has bumped MSRV without updating semver HOT 5
- `rewriting static` string in generated bindings HOT 10
- Generated INFINITY & NEG_ INFINITY are invalid in Rust 1.79
- Cannot call function that returns custom type when destructor is present.
- C++ ABI in MSVC and function returning non-POD type HOT 2
- std::size_t declared with using ::size_t does not get usize treatment
- Idea: Add firefox to CI
- Silently wrong code generated for enums in templated classes HOT 3
- Idea: Support compilation/cc-rs interface HOT 1
- bindgen generating `i64` instead of `u64` HOT 2
- Best practices for multiple large header files?
- Incorrect field offset when C struct is __attribute__((packed, aligned(8)))
- Windows keeps using MSVC, even when `CC` and `CXX` are set explicitly and empty `PATH` HOT 3
- Bindings for define statements using scientific notation HOT 2
- Panic: Couldn't resolve constant type, and it wasn't an nondeductible auto type or unexposed type! HOT 2
- How to handle C array of undefined size? HOT 1
- Installing bindgen twice with `cargo install --locked` creates different binaries. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust-bindgen.