| | 1 | = Parrot Deprecations for 3.6 = |
| | 2 | |
| | 3 | == Special Purpose NCI Parameter Types == |
| | 4 | |
| | 5 | The NCI parameter types 'J', '@', 't', '0', 'V', '2', '3', '4', 'B', 'b', 'L', and 'T' have been removed. |
| | 6 | |
| | 7 | === Rationale === |
| | 8 | |
| | 9 | These types are special-purpose and their function can be accomplished by other means. |
| | 10 | |
| | 11 | === Replacement === |
| | 12 | |
| | 13 | * 'J', '@', 't', '0': These types accomplish tasks which can be accomplished from PIR and are therefore redundant |
| | 14 | * 'J': getinterp + pointer NCI type |
| | 15 | * '@': slurpy param on a wrapping PIR sub |
| | 16 | * 't': manual lifetime management of C string buffer through NCI access to Parrot_str_to_cstring() and Parrot_str_free_cstring() |
| | 17 | * '0': null + pointer NCI type |
| | 18 | * '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. |
| | 19 | * '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. |