Comments (6)
Actually we have a flag to ignore unknown types, I don't think that's the problem.
The problem is most likely that we generate bad bindings for some kind of C++. We have an extensive set of flags to ignore types, mark them as opaque, etc. That's probably enough, except in the case we generate a bad type that is absolutely necessary to rust-mozjs.
Nick, do you know what are the blockers here? I'm happy to help :)
from rust-bindgen.
Once the current smup lands, I'll try to see if we can replace some of those ifdefs by bindgen flags.
from rust-bindgen.
Does bindgen support keeping those flags in some kind of configuration file? Something we can keep in m-c/js/src/bindgen-flags
or something? I think that would make keeping C-I green easier for spidermonkey hackers who don't necessarily want to touch bindgen/rust stuff when adding new JSAPI things.
from rust-bindgen.
Nick, do you know what are the blockers here? I'm happy to help :)
Thanks! :-D
Not yet, I have a couple things to get done first (grrr NSPR) but I was going to start just running bindgen on m-c's js/ and filing bugs / submitting PRs for things that fail without downstream patches.
Wash, rinse, repeat until everything Just Works :)
from rust-bindgen.
Sounds good to me :-)
Regarding the bindgen-flags thing, I don't think something like that would be difficult to implement.
For comparison, now what we have in stylo, for example, is a python script that takes care of invoking bindgen appropriately, and it works fairly well.
from rust-bindgen.
This is fixed, isn't it?
from rust-bindgen.
Related Issues (20)
- Publishing self-contained static executable (with bundled libclang.a) HOT 1
- How to construct the std::string variable in the generated rust HOT 2
- Feature request: use DST to represent structures with flexible array members HOT 7
- BindgenUnion can get incorrect alignment on i686 HOT 1
- feature: wrap every C function on unsafe blocks HOT 8
- docummenting of usage dynamic_library_name
- `size_t` incorrectly used when stdlib.h is included for aarch64-unknown-none HOT 4
- Workaround for atomic types
- Private padding and alignment fields + missing Defaut/Clone/Copy implementations HOT 3
- Convert `pub type __u8 = ::std::os::raw::c_uchar;` to `u8` (native) Rust types HOT 6
- Deriving common traits (`Copy` / `Clone`) doesn't appear to be working for anonymous unions/structs HOT 1
- Feature request: compile-time layout tests
- RFE: API for renaming struct fields HOT 1
- `__IncompleteArrayField` does not `impl ::std::marker::Copy` HOT 2
- Enhancing VTable Generation to Support Inherited Classes HOT 1
- error: linking with `link.exe` failed: exit code: 1120 HOT 3
- `static mut` deprecation HOT 1
- Bindgen release
- Failed to generate `Default` impl for arrays larger than 32 entries HOT 8
- wrap-static-fns converts _Bool to bool, causing a compile error HOT 3
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.