@crossbind/core-embind-rust 2.0.0-beta.66 → 2.0.0-beta.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/adapters/web.cpp +3 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -223,7 +223,7 @@ React Native and native Node.js. `e2e/conformance-rust` checks each Rust constru
|
|
|
223
223
|
|
|
224
224
|
| Path | State |
|
|
225
225
|
|---|---|
|
|
226
|
-
| web: Rust → flat ABI → embind-js (emsdk 5.0.3, 6.0.2 & 6.0.
|
|
226
|
+
| web: Rust → flat ABI → embind-js (emsdk 5.0.3, 6.0.2, 6.0.9 & 6.0.13) | ✅ tested, runs (full demo incl. f64 + string) |
|
|
227
227
|
| mobile: real Hermes / device smoke (iOS simulator, RN app) | ✅ GREEN 32/32 — ctor, N-arity, bool, enum, string both ways, value object both ways, vector, smart_ptr factory, f64 both ways, delete, app-local .rs, idioms, BigInt, Display, free fns, Option both ways, class params, semver/regex imports |
|
|
228
228
|
| mobile: real Hermes / device smoke (Android emulator, same RN app) | ✅ GREEN 32/32 — same demo, same adapter; cargo dep joins the cmake depends graph, keep-symbol linked; a NEW bare-crate import now links in the FIRST build (rust set busts the CMake configure) |
|
|
229
229
|
| app-local `.rs` import (`./native/counter.rs`, both mobile platforms) | ✅ GREEN — synthesized bridge crate + app super staticlib + typed `counter.rs.d.ts` |
|
package/adapters/web.cpp
CHANGED
|
@@ -234,7 +234,7 @@ void _embind_register_optional(CrossbindTid, CrossbindTid);
|
|
|
234
234
|
void _embind_register_smart_ptr(CrossbindTid, CrossbindTid, const char*, emscripten::sharing_policy, const char*, CrossbindFn, const char*, CrossbindFn, const char*, CrossbindFn, const char*, CrossbindFn);
|
|
235
235
|
void _embind_register_enum(CrossbindTid, const char*, size_t, bool, int);
|
|
236
236
|
void _embind_register_enum_value(CrossbindTid, const char*, int);
|
|
237
|
-
void _embind_register_value_object(CrossbindTid, const char*, const char*, CrossbindFn, const char*, CrossbindFn);
|
|
237
|
+
void _embind_register_value_object(CrossbindTid, const char*, const char*, CrossbindFn, const char*, CrossbindFn, size_t, bool);
|
|
238
238
|
void _embind_register_constant(const char*, CrossbindTid, double);
|
|
239
239
|
void _embind_register_class_property(CrossbindTid, const char*, CrossbindTid, const char*, CrossbindFn, void*, CrossbindTid, const char*, CrossbindFn, void*);
|
|
240
240
|
void _embind_register_value_object_field(CrossbindTid, const char*, CrossbindTid, const char*, CrossbindFn, void*, CrossbindTid, const char*, CrossbindFn, void*);
|
|
@@ -283,7 +283,8 @@ void crossbind_embind_register_constant(const char* name, CrossbindTid ty, doubl
|
|
|
283
283
|
_embind_register_constant(name, ty, value);
|
|
284
284
|
}
|
|
285
285
|
void crossbind_embind_register_value_object(CrossbindTid a, const char* b, const char* c, CrossbindFn d, const char* e, CrossbindFn f) {
|
|
286
|
-
|
|
286
|
+
// Not trivial: embind builds the value with its constructor (T::default()), never in zeroed stack memory.
|
|
287
|
+
_embind_register_value_object(a, b, c, d, e, f, 0, false);
|
|
287
288
|
}
|
|
288
289
|
void crossbind_embind_register_value_object_field(CrossbindTid a, const char* b, CrossbindTid c, const char* d, CrossbindFn e, void* f, CrossbindTid g, const char* h, CrossbindFn i, void* j) {
|
|
289
290
|
_embind_register_value_object_field(a, b, c, sigForWasm(d), e, f, g, sigForWasm(h), i, j);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crossbind/core-embind-rust",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.67",
|
|
4
4
|
"description": "Rust producer for the crossbind embind registration protocol - bind Rust structs as classes reachable from JS on web (embind) and mobile (embind-jsi). Research/spike stage.",
|
|
5
5
|
"homepage": "https://github.com/crossbind/crossbind/tree/main/core/embind-rust#readme",
|
|
6
6
|
"repository": {
|