These new macros take and return pointers to specific subtypes of SV, rather than the generic SvREFCNT_inc() family. As such they avoid needing to cast the result back.
This results in neater, easier-to-read code in a variety of places. It removes many entirely-redundant calls to the MUTABLE_xV macro. It also leaves a space for possible future expansion later on by having the macros additionally assert on the SvTYPE in -DDEBUGGING builds.
These new macros take and return pointers to specific subtypes of SV, rather than the generic SvREFCNT_inc() family. As such they avoid needing to cast the result back.
This results in neater, easier-to-read code in a variety of places. It removes many entirely-redundant calls to the
MUTABLE_xV
macro. It also leaves a space for possible future expansion later on by having the macros additionally assert on theSvTYPE
in-DDEBUGGING
builds.