Hi Levi, if you remember, in my patch return_type was actually stored in arg_info[-1]. it was mainly done for unification and to allow return type hinting for internal functions (they already use arg_info[-1]) So the strictures may be compatible. See https://gist.github.com/dstogov/8deb8b17e41c1a5abf88
I also thought about zend_string* usage in arg_info Please review the patch if you missed it. https://gist.github.com/dstogov/aa452a47ec30a8cb6eb5 The patches may be outdated, but they worked. I may care about the final implementation if you agree with invariant return type. Thanks. Dmitry. On Fri, Nov 28, 2014 at 7:51 PM, Levi Morrison <le...@php.net> wrote: > > I prefer option (3) - invariant return types. > > Actually, return type compatibility check should follow all the rules for > > parameter type compatibility check (may be even reuse or share the code). > > Realistically there isn't much code to share, especially since the two > structures are incompatible. That is, they are incompatible until > `zend_string *` is used in parameters (which I'm hopeful will happen). >