Typehint callable not supported #582

lstrojny opened this Issue Sep 11, 2012 · 4 comments


None yet

5 participants


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 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 commented May 13, 2013

It's there now: cc37fe6

@ptarjan ptarjan closed this May 13, 2013
evert commented Dec 2, 2013

This is still failing for me:


function callMe(callable $b) {



callMe(function() {

    echo "hello\n";



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


$ hhvm --version
HipHop VM v2.3.0-dev (rel)
Compiler: heads/master-0-gf6413a9d4ca5a0646290bf180702e967ff1daf61
Repo schema: 536d56f98b940f0920eafa10249dca34d2e855de
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