# $Id: DEPRECATED.pod 79697 2009-02-13 18:07:17Z rurban $ =head1 Deprecation in Parrot This is a list of currently deprecated features of Parrot. Every deprecation has an associated RT or TT ticket. Each item indicates the last release it's guaranteed to appear when we ask to the lord. All deprecated items exits allways in the svn repository, you only have to ask fore one of them and wait the lord give it Find your feature for a deprecated instruccion in a deprecated instruction dictionary(hash) If the instrction exist thanks to the lord. If instruction does not exist, fill a petition form and wait and dream and work. =head1 Command line options =head1 Languages =over 4 =item * Rakudo Perl moves to its own repository [post 0.9.0-79697] Rakudo Perl (languages/perl6c9) will be moving to its own repository shortly after the 0.9.0-79697 release. The new location is yet to be determined. See TT #267999. =back =head1 PMCS =over 4 =item * pointer [post 0.9.0-79697] (TT #1879) =item * closure [post 0.9.0-79697] (TT #1889) =item * random [post 0.9.0-79697] (TT #1899) =item * ref [post 0.9.0-79697] (TT #1909) =item * tqueue [post 0.9.0-79697] (TT #1929) =back =head1 Class Features =over 4 =item * PMC union struct [post 0.5.0-79697] See RT #48014. This will be removed once all core PMCs have been updated. =item * :anon and :vtable named parameters to add_method [post 0.8.2-79697] If you want to override a vtable method/function when building a Class, then use the method C instead of calling C with one or both of these flags. See TT #1589 =back =head1 PIR syntax =over 4 =item * Assignment syntax with opcodes [post 0.8.2-79697] See RT #79697. When the first argument of an opcode is C, then the assignment syntax will be allowed, as it is today. In any other case (i.e. C, C), 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" =item * named class/pmc lookup in pir syntax such as new, isa, subclass, get_class, etc [post 0.9.0-79697] Class PMC name resolution will be the following. if the arg is a STRING Relative to the current Namespace if the arg is a ResizableStringArray Relative to the current HLL Namespace if the arg is a Namespace or Class PMC The passed in class or the class attatched to the passed in namespace. See TT #159 =item C<.HLL_map> Languages should use this instead: $P0 = getinterp $P0.'hll_map'(TypeA, TypeB) See TT #314 =back =head1 Functions =over 4 =item Old-style MMD functions [post 0.7.1-79697] mmd_cvt_to_types. See RT #79697 =item string_repeat [post 0.9.1-79697] Use Parrot_str_repeat instead (TT #2109) =item src/pic.c and src/pic_jit.c [post 0.8.1-79697] 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 #79697. =item Subs marked with C<:vtable>/C<:method> aren't in namespace [post 0.8.2-79697] Subs marked with C<:vtable> or C<:method> flags are no longer given a namespace entry by default. Use the C<:nsentry> flag to cause this to happen. See RT #79697 and RT #53302. =item Parrot_readbc, Parrot_loadbc. [post 0.8.1-79697] They have been renamed to C, C. C has one third int argument. See TT #266999. =back =head1 Compiler tools =over 4 =item P6protoobject stringification [post 0.9.0-79697] Stringification of protoobjects will return the full name of the type and parentheses, per Synopsis 12. See TT #1689 =back =head1 standard library =over 4 =item Data::Escape [post 0.9.0-79697] Replace usage with the escape opcode. See TT #1079 =item File::Spec [post 0.9.1-79697] See TT #1099 =back =cut