| 225 | explicit TVarWithDepObj(UnsafeInit) {} |
| 226 | |
| 227 | static void RegisterReflection() { |
| 228 | namespace refl = tvm::ffi::reflection; |
| 229 | refl::ObjectDef<TVarWithDepObj>() |
| 230 | .def_ro("name", &TVarWithDepObj::name, refl::AttachFieldFlag::SEqHashIgnore()) |
| 231 | // ``dep`` participates in structural equality without any def flag, |
| 232 | // so it is a USE position. Whether the FreeVar in ``dep`` may rebind |
| 233 | // is decided by the def flag on whichever outer field reaches this |
| 234 | // object. |
| 235 | .def_ro("dep", &TVarWithDepObj::dep); |
| 236 | } |
| 237 | |
| 238 | static constexpr TVMFFISEqHashKind _type_s_eq_hash_kind = kTVMFFISEqHashKindFreeVar; |
| 239 | TVM_FFI_DECLARE_OBJECT_INFO_FINAL("test.VarWithDep", TVarWithDepObj, Object); |
nothing calls this directly
no outgoing calls
no test coverage detected