What's Changed
- [FEAT][RUST] Resolve reflected type methods and constructors from Rust by @Seven-Streams in #707
- [FEAT] Add structural map, maybe_inplace_mutate, and var_remap APIs by @Kathryn-cat in #649
- [Feat][Rust] Add native structural_map and structural_mutate by @tlopex in #704
- [FEAT] Add core opaque pointer handler map by @tqchen in #708
- [Fix][Rust] Serialize structural visit test registration by @tlopex in #710
- [FEAT][RUST] Complete structural walk/map/visit/mutate dispatch APIs by @Seven-Streams in #711
- [FIX] Make ffi.Error picklable by @cyx-6 in #709
- [FEAT][RUST] Add AnyCompatible::to_any. by @Seven-Streams in #712
- [FEAT][RUST] Support Any elements in FFI containers by @tlopex in #715
- [FIX] Stabilize Python annotation metadata by @junrushao in #718
- [REFACTOR][RUST] Clarify structural mutator dispatch and recursion APIs by @tlopex in #714
- [FEAT][RUST] Add object binding runtime support by @tlopex in #716
- [CORE] Propagate static object type bounds in Any conversions by @tqchen in #719
- [FEAT][RUST] Accept any Into return value in structural map/mutate callbacks by @Seven-Streams in #722
- [FIX][RUST] Seal structural callback result traits and update return-value docs by @Seven-Streams in #724
- [Rust] Decouple structural mutation dispatch from recursion control by @tlopex in #723
- [FEAT][FFI] Accept flexible callback return types in C++ StructuralMap by @tqchen in #725
- [REFACTOR][RUST] Keep mutate dispatch state on the dispatcher by @tlopex in #728
- [STUBGEN] Carry native layout facts through the language-neutral data. by @Seven-Streams in #720
- [CORE] Publish native layout traits from ObjectDef by @Seven-Streams in #721
- [FIX] Support free-threaded Python cross-builds by @iamthebot in #706
- [FFI] Make Object::unique() require no weak references by @tqchen in #731
- [REFACTOR][EXTRA] Optimize StructuralMap by @tqchen in #733
- [STUBGEN] Generalize one-line directive handling by @Seven-Streams in #736
- [RUST] Add borrowed object node cast by @tlopex in #734
- [STUBGEN] Classify native layouts from reflected byte facts by @Seven-Streams in #730
- [STUBGEN][RUST] Add the Rust backend with opaque object bindings by @Seven-Streams in #738
- [REFACTOR][EXTRA] Streamline container mutation hooks by @tqchen in #739
- [STUBGEN][RUST] Generate complete object mirrors and allocators by @Seven-Streams in #740
- [REFACTOR][EXTRA] Optimize StructuralMap engine by @tqchen in #741
- [STUBGEN][RUST] Rename the wrapper slot to
baseand tightenrust_identby @Seven-Streams in #742 - [FIX][RUST] Wait for fixture registration in structural visit tests by @tlopex in #743
- [REFACTOR][EXTRA] Move structural-mutate error construction out of the hot path by @tqchen in #744
- [Test][Rust] Use existing C++ registrations for structural walk and map by @tlopex in #745
- [STUBGEN] Add a
--checkmode that reports stale stub files by @Seven-Streams in #746 - [REFACTOR][EXTRA] Allow StructuralWalkVisitor to carry state via Parent by @tqchen in #747
- [REFACTOR][EXTRA] Allow StructuralMapMutator to carry state via Parent by @tqchen in #749
- [REFACTOR][EXTRA] Add StructuralVisit, a callback-driven traversal primitive by @tqchen in #750
- [STUBGEN][RUST] Error on dependencies a partial run does not ask for by @Seven-Streams in #748
- [REFACTOR][EXTRA] Add StructuralMutate, a callback-driven mutation primitive by @tqchen in #751
- [STUBGEN] Let a file declare a namespace with a
prefixdirective by @Seven-Streams in #752 - [REFACTOR][EXTRA] Add TVM_FFI_S_VISIT_RETURN_NONE for visit hook tails by @tqchen in #753
- [WIN] Enhance threadsafety of DbgHelp by @tqchen in #754
- [STUBGEN][RUST] Skip crate-provided types and add a custom constructor example by @Seven-Streams in #755
- [PERF][EXTRA] Split lazy structural mutation loops by @tqchen in #756
- [FFI][PERF] Mark non-trivial special members TVM_FFI_INLINE by @tqchen in #759
- [FFI][PERF] Strip cv in IsObjectInstance so as() folds to true by @tqchen in #760
- [FFI][PERF] Force-inline ObjectPtr wrapper special members by @tqchen in #761
- [FFI][REFACTOR] Remove TVM_FFI_S_VISIT_RETURN_NONE by @tqchen in #762
- [FFI][FIX] Backtrace: refresh DbgHelp modules, tolerate bad TVM_TRACEBACK_LIMIT, match object_is_not_callable exactly by @tqchen in #763
- [FFI][PERF] Force-inline ObjectPtr::reset and WeakObjectPtr::reset by @tqchen in #764
- [FFI][FIX] Use int64_t for the parsed TVM_TRACEBACK_LIMIT by @tqchen in #765
- [FFI][PERF] AnyUnsafe::CheckAnyViewStrict for a borrowed AnyView by @tqchen in #767
- [FFI][REFACTOR] Clarify DefRegionKind by @tqchen in #769
- [Rust][Fix] Preserve object lifetime and thread-safety contracts by @tlopex in #766
- [FFI][REFACTOR] Introduce UnchangedOr for StructuralMutate by @tqchen in #768
- Revert "[Rust][Fix] Preserve object lifetime and thread-safety contracts" by @tlopex in #772
- [EXTRA] Simplify StructuralMap engine policy by @tqchen in #771
- [REFACTOR] Type default structural mutation results as UnchangedOr by @tqchen in #773
- [PERF] Forward single StructuralMutate callbacks directly by @tqchen in #774
New Contributors
- @iamthebot made their first contribution in #706
Full Changelog: v0.1.13-post3...v0.1.14-rc5