NAME
docs/deprecations/deprecations_3_6.pod - Parrot Deprecations for 3.6
Parrot Deprecations for 3.6
Special Purpose NCI Parameter Types
The NCI parameter types 'J', '@', 't', '0', 'V', '2', '3', '4', 'B', 'b', 'L', and 'T' have been removed.
Rationale
These types are special-purpose and their function can be accomplished by other means.
Replacement
'J', '@', 't', '0'
These types accomplish tasks which can be accomplished from PIR and are therefore redundant
- 'J' getinterp + pointer NCI types
- '@' slurpy param on a wrapping PIR sub
- 't' manual lifetime management of C string buffer through NCI access to Parrot_str_to_cstring() and Parrot_str_free_cstring()
- '0' null + pointer NCI type
'V', '2', '3', '4', 'B'
A less type-specific pass-by-reference mechanism is available.
See the bindings for pcre_compile() in runtime/parrot/library/pcre.pir for an example of its use.
'b', 'L', 'T'
These were poorly documented and were broken in their implementation. No replacement has been provided as these do not represent desirable behaviour.