junrushao opened a new pull request, #676: URL: https://github.com/apache/tvm-ffi/pull/676
Add `Arc<T>` and `make_arc<T>` as one-pointer, reference-counted carriers whose safe API does not admit null. Give Arc bare object schemas while representing nullable `ObjectPtr<T>` as `Optional[T]`, and reject empty or moved-from Arc values at FFI boundaries. Teach reflected fields, typed containers, and C++ ABI generation to preserve object nullability. Required objects and object-only unions use Arc, nullable pointer fields use ObjectPtr, and 16-byte optionals use `Optional<Arc<T>>`. Document the ownership and unsafe-initialization rules, preserve container exception safety when conversion fails, and extend C++ and Python coverage for casts, reflection, structural operations, serialization, and generated layouts. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
