Skip to content

[RFC] Deprecate Extension VTable in Favor of Unified Object System #4579

@tqchen

Description

@tqchen

Before the unified object protocol, we support passing additional extension objects around by declaring a type as an extension type.

The old extension mechanism requires the types to register their constructor and deleter to a VTable in order to pass a container around. It does not enjoy the benefit of the self-contained deletion property of the new Object system.

This RFC propose to deprecate the extension VTable in favor of support all container variation passing via the object protocol to simplify the PackedFunc calling convention.

Note that the register_extension funtion in the python side continues to work when the passed argument does not require explicit container copy/deletion, which covers the current usecases of the extension mechanism.

The proposed change is implemented in #4578.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions