merged into master with the proposed changes.

Thanks. Dmitry.

On Thu, Feb 5, 2015 at 9:37 AM, reeze <re...@php.net> wrote:

> Hi Dmitry,
>
> On 5 February 2015 at 14:31, Dmitry Stogov <dmi...@zend.com> wrote:
>
>> Hi reeze,
>>
>> The original "return type" patch was designed to support internal
>> functions as well.
>> So I think, this is just a good addition.
>>
> Yes :)
>
>>
>> Only one note:
>> I'm not sure, if we need the addition check in ZEND_DO_FCALL handler.
>> On one hand it verifies that internal function returns proper result (but
>> they MUST do it).
>> On the other hand, it also slowdowns each additional call.
>>
>> Instead of modifying zend_verify_return_type() I would add
>> zend_verify_internal_return_type(),
>> and use: ZEND_ASSERT((fbc->common.fn_flags & ZEND_ACC_HAS_RETURN_TYPE)
>> && zend_verify_internal_return_type(fbc, EX_VAR(opline->result.var)));
>>
>> This would allow catching error in DEBUG build, but won't slowdown
>> RELEASE build.
>>
>> If you agree, I may just commit this.
>>
>
> Sure!  Thank you!
>
>
>>
>> Thanks. Dmitry.
>>
>> On Thu, Feb 5, 2015 at 7:01 AM, reeze <re...@php.net> wrote:
>>
>>> PS:
>>>
>>> There is no enough unit tests to cover all of the branches, if we want
>>> then
>>> I have to add a bunch of for testing functions and classes in ZEND_DEBUG,
>>> what is the better way?
>>>
>>> On 5 February 2015 at 11:54, reeze <re...@php.net> wrote:
>>>
>>> > Hi all,
>>> >
>>> > RFC:  https://wiki.php.net/rfc/internal_function_return_types
>>> >
>>> > I noticed that return types RFC[1] didn't support internal functions, I
>>> > just open a PR[2]  to support it.
>>> >
>>> > There are some open issues we can discuss:
>>> >
>>> > 1. User land return types didn't stop the php, the current
>>> implementation
>>> > raise error to stop PHP from start, this may help debug problem.
>>> > 2. User land return types didn't support Nullable types, but the RFC
>>> > return types internally support it, I think it is feature. is that
>>> > acceptable?
>>> >
>>> > Thank you.
>>> >
>>> > ---
>>> >
>>> > [1] https://wiki.php.net/rfc/return_types
>>> > [2] https://github.com/php/php-src/pull/1050
>>> >
>>>
>>
>>
>
>
> --
> Reeze Xia
> http://reeze.cn
>

Reply via email to