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. Items marked with a release of ??? are still deprecated, but a firm deadline for their removal has not yet been established.
When deprecated items are removed, all usage of the feature in the repository should be updated or removed; including documentation.
See RT #48583.
See RT #48585.
See RT #48577.
See RT #48579.
See RT #48581.
See RT #48567.
See RT #47011.
See RT #48589.
See RT #48016. Replace usage with set_[hll,root]_global variants.
See RT #48018. Replace usage with get_[hll,root]_global variants.
new(out PMC, in INT, in STR) [post 0.5.0]
See RT #47011.
See RT #47972. Future use should use the
See RT #47976.
See RT #48310.
restoreall("register stack" ops) [post 0.6.1]
It is much faster to use Parrot Calling Conventions or a separate set of registers rather than
retcalling. See RT #52838.
restore, other "user stack" ops [post 0.7.0]
It is much faster and more flexible to use
popon an explicit array object. The full list of deprecated ops is show below:
depth entrytype lookback restore rotate_up save savec
See RT #52842 for details.
- Integer Type IDs [post 0.5.0]
See RT #48024. Instead of
$P0 = new Integeror
$P0 = new .Integer, use the following syntax, which works for both PMCs and objects.
$P0 = new 'Integer'
- PMC union struct [post 0.5.0]
See RT #48014. This will be removed once all core PMCs have been updated.
- Keyed access to exception attributes [post 0.5.1]
See RT #48012. Attributes on exception objects will no longer be accessible by integer or string key, use
<.namespace <identifier>> syntax [post 0.5.1]
See RT #48737.
- Use of
::in identifiers [post 0.5.1]
See RT #48735.
.namespace [ "a" .. "b" ][post 0.5.0]
See RT #46715.
- vtable name .constants and __vtable overrides [post 0.5.2]
See RT #48877.
- Assignment syntax with opcodes [post ???]
See RT #36283. When the first argument of an opcode is
OUT, then the assignment syntax will be allowed, as it is today.
In any other case (i.e.
IN), this will become a syntax error. For example:
$S0 = print $P0 = substr 1, 2, "x"
Will have to be:
print $S0 substr $P0, 1, 2, "x"
Currently there are no deprecations.