The GitHub Actions job "CI" on tvm-ffi.git/junrushao/2026-07-13/dataclass-cleanup has succeeded. Run started by GitHub user junrushao (triggered by junrushao).
Head commit for run: ec12938e47a1fb47d407c2aca321c1484fd0c969 / Junru Shao <[email protected]> refactor(dataclasses)!: separate field resolution and native lifetimes Architecture: - Resolve annotations from each declaring class so forward references, recursive classes, and mixins no longer depend on merged inherited annotations. - Centralize typed reflection conversion in TypeAttr and ObjectDef while native object-valued fields receive explicit placement construction and destruction. - Carry nested field paths through conversion failures and compute init-only properties after FFI-backed construction. Public Interfaces: - Add init_property for values derived once after dataclass initialization. - Add reflection conversion hooks for type attributes and object definitions. - Make py_class use tree structural equality by default; callers can still opt out explicitly with structural_eq=None. UI/UX: - None. Behavioral Changes: - Dataclass field resolution now respects the class that declares each field. - Native field conversion reports the complete path to a failing nested value. - Device strings and reflected ancestor types use the shared conversion path. Docs: - Update the structural equality guide for the new py_class default. - Keep lower-level reflection and init_property behavior documented through API comments and focused tests; a broader narrative guide can follow separately. Tests: - Clean editable C++/Cython build completed successfully. - 1103 focused dataclass, structural, converter, typed-method, and function tests passed; 2 expected failures remained expected. - Scoped pre-commit hooks passed for all files in this boundary. Untested Edge Cases: - Rust bindings, Windows/MSVC, and the full cross-platform test matrix were not run for this intermediate boundary. - Stub regeneration exposes pre-existing drift in mutable-container annotations and an omitted test helper, so those unrelated generated edits are deferred. BREAKING CHANGE: py_class now defaults to tree structural equality and field resolution follows each declaring class. Extensions that depend on the previous default or annotation-merging behavior must opt out or update their declarations and rebuild C++/Cython artifacts. Report URL: https://github.com/apache/tvm-ffi/actions/runs/29285691683 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
