Thanks a lot!

On 5 February 2015 at 16:03, Dmitry Stogov <dmi...@zend.com> wrote:

> 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
>>
>
>


-- 
Reeze Xia
http://reeze.cn

Reply via email to