Deprecation in Parrot

This is a list of currently deprecated features of Parrot. Every deprecation has an associated RT ticket. Each item indicates the last release it's guaranteed to appear in.

When deprecated items are removed, all usage of the feature in the repository should be updated or removed; including documentation.

When deprecating opcodes, in addition to the ticket, be sure to mark the opcode with the :deprecated flag; this will allow users to enable deprecation warnings selectively with:

 .include 'include/warnings.pasm'
 warningson .PARROT_WARNINGS_DEPRECATED_FLAG

And then receive runtime warnings if they are using any deprecated opcodes. The -w command line option for parrot can also be used to enable all warnings. You can use make warnings_tests to run the standard test suite with this option.


vtable entries


Opcodes


Class Features


PIR syntax


Functions

Old-style MMD functions [post 0.7.1]

Parrot_mmd_add_function, mmd_expand_x, mmd_expand_y, Parrot_mmd_register, Parrot_mmd_register_sub, Parrot_mmd_destroy, Parrot_MMD_search_default_infix, Parrot_mmd_search_default, mmd_cvt_to_types.

See RT #60626.

src/pic.c and src/pic_jit.c [post 0.8.1]

These two files were a thin prototype implementation of Polymorphic Inline Caching that only ever applied to 4 opcodes, one of which has now been removed. The files (and all functions in them) are deprecated, and will be removed. See RT #60048.

  • Subs marked with :vtable/:method aren't in namespace [post 0.8.2]

    Subs marked with :vtable or :method flags are no longer given a namespace entry by default. Use the :nsentry flag to cause this to happen. See RT #60586 and RT #53302.

  • Bytecode packfile segment will use subid not sub name [post 0.8.1]

    See RT #60590.


  • Compiler Tools

    'get_string', 'get_bool', etc. named vtable functions [post 0.8.1]

    All of the named vtable functions in PCT and PGE will lose their names and effectively become anonymous. See RT #60384.

    Capture_PIR class [post 0.8.2]

    The Capture_PIR class in runtime/parrot/library/Parrot/Capture_PIR.pir is deprecated and will be removed.


    Misc.

    'make smoke' [post 0.8.2]

    The functionality currently provided by "make smoke" will be changing to be an alias for "make smolder_test". We're moving towards smolder as our single point of online test reporting, and will keep the make target to simplify the switch for anyone currently smoking parrot. See RT #49276.