The patch looks good and seems to contain the necessary opcache changes. I'm not sure if you really need zend_return_hint.used and zend_return_hint.class_name_type (may be I just didn't analyze the patch deep enough).
You may support "self" by setting zend_return_hint.class_name = GC(actrive_class_entry)->name. If return type hinting is unused then zend_function. return_hint should be NULL In PHP7 it may make sense to embed fields of zend_return_hint (zend_string return_class_name and zend_uchar return_type) directly into zend_function. It may keep the same memory usage for cases without return type hinting and decrease it with return type hinting. Thanks. Dmitry. On Tue, Aug 19, 2014 at 8:23 AM, Levi Morrison <morrison.l...@gmail.com> wrote: > On Mon, Aug 18, 2014 at 1:43 PM, Dmitry Stogov <dmi...@zend.com> wrote: > > Hi Levi, > > > > The implementation is really not a problem. It must be quite simple and I > > may take care about it. > > The problem that we can't come to agreement on scalar type hinting for > years > > :( > > > > Thanks. Dmitry. > > > > > > On Mon, Aug 18, 2014 at 9:57 PM, Levi Morrison <morrison.l...@gmail.com> > > wrote: > >> > >> On Mon, Aug 18, 2014 at 8:21 AM, Dmitry Stogov <dmi...@zend.com> wrote: > >> > I see your point. For me they just don't have a lot of sense without > >> > each > >> > other. > >> > >> I am the author of two of those RFCs. I've worked with several members > >> of the HHVM team so that any inconsistencies are planned and recorded > >> (or will be; I know of one inconsistency in return types that is not > >> currently recorded). > >> > >> I also am definitely not in favor of merging them, for the reasons > >> Andrea outlined. > >> > >> Also, Dmitry, if you have interest in working on the implementations > >> for these RFCs I'm sure Joe would appreciate the help (I know I > >> would). > > Joe was able to get it mostly completed in a really short period of > time, but there is some issue going on with opcache. I have forgotten > the details now, but I think it had to deal with the fact that the > types need to have delayed binding. Joe or Anthony, can you maybe give > more information here? > > Additionally, the implementation was built off of master because it > was created before PHPNG; I think I probably want to target PHP 7 > instead of 5.7 (again, PHP 7 was only being dreamed of then) so it > would need rebased at least. Here's the work by Joe and Anthony: > https://github.com/krakjoe/php-src/compare/returntypehinting >