Typehint callable not supported #582

Closed
lstrojny opened this Issue Sep 11, 2012 · 4 comments

Comments

Projects
None yet
5 participants
@lstrojny

PHP 5.4 introduces the callable typehint to allow closures, string $function and array($obj, 'method'). See http://php.net/manual/de/language.types.callable.php for details. HipHop analyzes callable as UnknownClass.

@paroski

This comment has been minimized.

Show comment
Hide comment
@paroski

paroski Oct 12, 2012

HipHop does not currently support all PHP 5.4 features. We plan to add support for the "callable" typehint some time in the coming months.

paroski commented Oct 12, 2012

HipHop does not currently support all PHP 5.4 features. We plan to add support for the "callable" typehint some time in the coming months.

@ptarjan

This comment has been minimized.

Show comment
Hide comment
@ptarjan

ptarjan May 13, 2013

Contributor

It's there now: cc37fe6

Contributor

ptarjan commented May 13, 2013

It's there now: cc37fe6

@ptarjan ptarjan closed this May 13, 2013

@evert

This comment has been minimized.

Show comment
Hide comment
@evert

evert Dec 2, 2013

Contributor

This is still failing for me:

<?php

function callMe(callable $b) {

    $b();

}

callMe(function() {

    echo "hello\n";

});

Throws:

HipHop Fatal error: Argument 1 passed to callMe() must be an instance of callable, Closure$callMe$47daeefeedcd4b135f362b25e98454cc$ given in /Users/evert/code/sabre/event/tests/foo3.php on line 7

Version:

$ hhvm --version
HipHop VM v2.3.0-dev (rel)
Compiler: heads/master-0-gf6413a9d4ca5a0646290bf180702e967ff1daf61
Repo schema: 536d56f98b940f0920eafa10249dca34d2e855de
Contributor

evert commented Dec 2, 2013

This is still failing for me:

<?php

function callMe(callable $b) {

    $b();

}

callMe(function() {

    echo "hello\n";

});

Throws:

HipHop Fatal error: Argument 1 passed to callMe() must be an instance of callable, Closure$callMe$47daeefeedcd4b135f362b25e98454cc$ given in /Users/evert/code/sabre/event/tests/foo3.php on line 7

Version:

$ hhvm --version
HipHop VM v2.3.0-dev (rel)
Compiler: heads/master-0-gf6413a9d4ca5a0646290bf180702e967ff1daf61
Repo schema: 536d56f98b940f0920eafa10249dca34d2e855de
@scannell

This comment has been minimized.

Show comment
Hide comment
@scannell

scannell Dec 2, 2013

Contributor

@paroski, this seems to work only when EnableHipHopSyntax=1. Any idea why?

Contributor

scannell commented Dec 2, 2013

@paroski, this seems to work only when EnableHipHopSyntax=1. Any idea why?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment