Skip Menu |

This queue is for tickets about the Cache-Memcached-Fast CPAN distribution.

Report information
The Basics
Id: 93936
Status: resolved
Priority: 0/
Queue: Cache-Memcached-Fast

People
Owner: Nobody in particular
Requestors: victor [...] vsespb.ru
Cc: vadiml [...] reg.ru
AdminCc:

Bug Information
Severity: Wishlist
Broken in: (no value)
Fixed in: (no value)



CC: vadiml [...] reg.ru
Subject: request for clarification about status of utf8 flag
from the docs: Show quoted text
> utf8 (experimental, Perl 5.8.1 and later)
what does experimental mean ? 1) code can do things wrong (possible bugs, stability issues) 2) compatibility issues (API might change in the future versions) 3) compatibility with Cache::Memcached issue we want to use this flag, but wording "experimental" prevents us from this. if it's (2) and (3) is basically not a problem for us (if we write own tests for the module we'll detect API breaking change when module upgraded).
RT-Send-CC: vadiml [...] reg.ru
On Mon Mar 17 05:56:45 2014, vsespb wrote: Show quoted text
> > utf8 (experimental, Perl 5.8.1 and later)
> > what does experimental mean ? > > 1) code can do things wrong (possible bugs, stability issues) > 2) compatibility issues (API might change in the future versions) > 3) compatibility with Cache::Memcached issue
Probably (2), but any change is actually highly unlikely (especially on the Perl API side), so you may ignore the comment altogether. The 'utf8' flag is marked experimental because C::M::F is written in Perl XS, and XS calls sv_utf8_decode()/sv_utf8_downgrade() are marked experimental since the times UTF-8 support has been added to Perl (actually the whole Unicode support has been experimental for quite a while). Probably Perl developers weren't sure about the best way to support Unicode at that time (UTF-8 wasn't as ubiquitous then as it is now) and so left the door open for further changes. Perhaps one day all Perl strings will become explicit UTF-8 strings and all upgrade/downgrade business will be gone. Current `man perlapi` suggests to use Encode module instead of sv_utf8_downgrade() (this wasn't so at the time C::M::F was written), but calling Perl back from XS would be too slow, and we don't need general purpose solution at this point anyway. So simply ignore the experimental status.