The GitHub Actions job "CI" on 
tvm-ffi.git/junrushao/2026-07-15/generate-layout-compatible-cpp-object-declarations
 has failed.
Run started by GitHub user junrushao (triggered by junrushao).

Head commit for run:
17fe6b2cb6056a728a8ebb0c380984b97cc02c98 / Junru Shao <[email protected]>
fix(abi): harden generated object declarations

Architecture:
- Specialize the existing details::is_object_subclass_v variable template 
directly for generated incomplete Object types, removing the additional 
class-trait layer.
- Centralize static carrier lookup and treat schema-less custom object type 
indices as the erased ObjectPtr<Object> carrier.
- Sort declaration dependencies structurally by namespace components and object 
name so namespace grouping is stable instead of depending on punctuation in 
qualified strings.

Public Interfaces:
- TVM_FFI_DECLARE_OBJECT_SUBCLASS remains the generated C++17 shortcut, but now 
specializes the existing variable-template customization point directly.
- No C ABI, object layout, Python API, or generated field type changes are 
introduced.

UI/UX:
- none

Behavioral Changes:
- Root subclasses without parent TypeInfo metadata now start after the 
TVMFFIObject header instead of dereferencing None.
- Schema-less fields with custom object type indices now fall back to 
ObjectPtr<Object> rather than failing carrier inference.
- Forward declarations are grouped deterministically by structural namespace 
order.
- Declared recursive ObjectPtr fields remain supported through direct 
is_object_subclass_v specialization.

Docs:
- No documentation update is needed because these are review fixes to unmerged 
implementation details and output determinism; existing generator tests define 
the emitted declaration contract.

Tests:
- Executed: editable package rebuild
- Result: passed.
- Executed: full pre-commit suite
- Result: passed all hooks.
- Executed: full Python unit suite
- Result: 2393 passed, 18 skipped, 3 xfailed.
- Executed: C++ build and CTest
- Result: build passed; all 451 enabled tests passed and 2 remained disabled.
- Executed: pinned clang-tidy 21.1.1 on the changed C++ files
- Result: passed.

Untested Edge Cases:
- Rust tests were not executed because cargo and rustup are unavailable 
locally; no Rust source or binding changed.
- Linux and Windows compiler matrices remain CI-only; local native-code 
generation, C++ tests, and clang-tidy cover the changed template and layout 
paths.

Refs: https://github.com/apache/tvm-ffi/pull/670

Report URL: https://github.com/apache/tvm-ffi/actions/runs/29457673828

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to