[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-doc-cvs
Subject:    Re: [DOC-CVS] svn: /phpdoc/en/trunk/appendices/migration70/ new-features.xml
From:       Peter Cowburn <petercowburn () gmail ! com>
Date:       2015-10-22 11:31:52
Message-ID: CAPg3Xx+7A9i4oi4EEFqOuqX-8od6v4uNBHYa1eAtQMjGo+Dvpw () mail ! gmail ! com
[Download RAW message or body]


On 22 October 2015 at 12:21, Bob Weinand <bobwei9@hotmail.com> wrote:

> Hey,
>
> Am 22.10.2015 um 10:35 schrieb Peter Cowburn <petercowburn@gmail.com>:
>
> On 22 October 2015 at 02:41, Bob Weinand <bwoebi@php.net> wrote:
>
>> bwoebi                                   Thu, 22 Oct 2015 01:41:30 +0000
>>
>> Revision: http://svn.php.net/viewvc?view=revision&revision=338015
>>
>> Log:
>> Fix bug #70746 (Please document spaceship as returning -1 or 0 or 1)
>>
>> Bug: https://bugs.php.net/70746 (Verified) Please document spaceship as
>> returning -1 or 0 or 1
>>
>> Changed paths:
>>     U   phpdoc/en/trunk/appendices/migration70/new-features.xml
>>
>> Modified: phpdoc/en/trunk/appendices/migration70/new-features.xml
>> ===================================================================
>> --- phpdoc/en/trunk/appendices/migration70/new-features.xml
>>  2015-10-21 20:47:06 UTC (rev 338014)
>> +++ phpdoc/en/trunk/appendices/migration70/new-features.xml
>>  2015-10-22 01:41:30 UTC (rev 338015)
>> @@ -144,10 +144,9 @@
>>   <sect2 xml:id="migration70.new-features.spaceship-op">
>>    <title>Spaceship operator</title>
>>    <para>
>> -   The spaceship operator is used for comparing two expressions. It
>> returns an
>> -   <type>integer</type> less than, equal to, or greater than zero when
>> -   <varname>$a</varname> is respectively less than, equal to, or greater
>> than
>> -   <varname>$b</varname>. Comparisons are performed according to PHP's
>> usual
>> +   The spaceship operator is used for comparing two expressions. It
>> returns -1, 0
>> +   or 1 when <varname>$a</varname> is respectively less than, equal to,
>> or greater
>> +   than <varname>$b</varname>. Comparisons are performed according to
>> PHP's usual
>>     <link linkend="types.comparisons">type comparison rules</link>.
>>
>
> It is my understanding that the spaceship operator isn't guaranteed to
> return those values: even if it does in 99.999% of cases.  Is the -1, 0 or
> 1 behaviour now guaranteed and I just missed that change?  If the operator
> is guaranteed to return -1, 0 or 1 then great. Otherwise we should at least
> mention the possibility, however small, of different values (if indeed that
> is still possible).
>
>
>>    </para>
>>    <informalexample>
>>
>
> The RFC is explicitly documenting it as -1, 0 and 1.
>
> Strictly seen, you are right, it is actually not being ensured for
> object_handlers->compare_objects. But as far as I see, we also internally
> expect compare_function to just return one of these three values.
> I'd say, if in any case an extension returns anything else than null for
> compare_objects, it's buggy and should be fixed.
> … we eventually could apply an ZEND_NORMALIZE_BOOL() in source to ensure
> it to 100%, if that's safer.
>
> For an end-user, he definitely should be able to rely on that well-defined
> set of values.
>

Great, that all tallies up with what I expected. So, let's keep the docs
are they now are.


>
> Bob
>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic