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)
- allowlist_item does not work for anonymous enums - allowlist_var does HOT 1
- --target=wasm32-unknown-unknown: 'stdio.h' file not found HOT 5
- Unable to generate bindings for Arduino library IRremote.hpp on MacOS HOT 1
- Thread panicking at bindgen .Err state unable to found libclang.dll but it available on the path variable HOT 2
- feature request: Enable deriving `Clone`, `Copy`, etc... for `__IncompleteArrayField` and containing structs. HOT 2
- Support for raw-dylib for Windows
- Support for one set of bindings depending on another (conflicting `__BindgenBitfieldUnit`) HOT 3
- Unable to run bindgen on ubuntu 22.04 HOT 2
- update requirements for OpenBSD HOT 10
- Building tests for LightGBM bindings failes with linker error
- Unable to prevent Clang headers from being used HOT 4
- Update clang-sys HOT 2
- 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 5
- 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 1
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.